我想显示一个包含大约 10 个项目的 ListBox。每次我通过向 a 添加项目来更新它时,List
它都会导致一点但明显的延迟,并且 UI 会冻结一段时间。我还尝试使用 aObservableCollection
而不是 aList
作为ItemsSource
,但这并没有解决问题。
我的 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>