Я хочу отобразить ListBox с примерно 10 элементами в нем. Каждый раз, когда я обновляю его, добавляя элемент в List
, он вызывает небольшую, но заметную задержку, и пользовательский интерфейс замерзает на некоторое время. Я также попытался использовать ObservableCollection
вместо List
как ItemsSource
, что не помогло устранить проблему.Обновление ListBox вызывает задержку
My ListBox должен обновляться очень быстро, поэтому мне действительно нужна ваша помощь, пожалуйста! :)
Вот код:
public partial class MainPage : PhoneApplicationPage
{
//private List<Word> Words = new List<Word>();
ObservableCollection<Word> Words = new ObservableCollection<Word>();
// Konstruktor
public MainPage()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
ListBox1.ItemsSource = Words;
for (int j = 0; j < 10; j++)
{
Words.Add(new Word(j.ToString()));
}
}
}
public class Word
{
public String sWord { get; set; }
public Word(String word)
{
this.sWord = word;
}
}
XAML
<ListBox Name="ListBox1">
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="{Binding sWord}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
показать свой DataTemplate/класс, который отображается в списке. Если у вас слишком много конвертеров/логики, у вас будет плохое перфоманс. –
Я обновил сообщение. Это действительно не много кода. – Stacksatty
Как вы добавляете предметы? –