我目前正在使用WPF输入窗口,现在遇到以下问题:
if (e.Key == System.Windows.Input.Key.Enter)
{
this.variantNumbers.Add(new VariantNumbers {Number =
txtVariantNo.Text});
lstBoxVariants.ItemsSource = this.variantNumbers;
lstBoxVariants.Visibility = Visibility.Visible;
txtVariantNo.Text = "";
}
当我单击Enter时,我想在每次添加元素时都将ItemsSource设置为新的同时更新ListBox的ItemsSource。
这里可能出了问题,我的ListBox会忽略此设置,第一次单击Enter时,它将起作用,第二次及之后的时间则不起作用。
请让我知道您是否有人知道这里可能出什么问题了。
谢谢!
答案 0 :(得分:1)
variantNumbers
应该是ObservableCollection<VariantNumbers>
。在这种情况下,您不必在每次添加新项目时都设置ItemsSource。
private readonly ObservableCollection<VariantNumbers> variantNumbers =
new ObservableCollection<VariantNumbers>();
...
lstBoxVariants.ItemsSource = variantNumbers;
...
if (e.Key == System.Windows.Input.Key.Enter)
{
variantNumbers.Add(new VariantNumbers { Number = txtVariantNo.Text });
txtVariantNo.Text = "";
}