gpt4 book ai didi

c# - 列表框仅显示一项

转载 作者:行者123 更新时间:2023-11-30 19:31:53 25 4
gpt4 key购买 nike

我有一个 ListBox 和一个带有字符串的类。每次用户单击应用程序中的添加按钮时,我都会创建该类的一个新实例并将其添加到绑定(bind)到 ListBox 的列表中。第一次单击添加按钮时,列表框显示第一个项目,但下一次它不显示两个项目。

XAML - 这是 ListBox:

<ListBox Name="ListBox_BinsRegion" Height="181" Margin="233,16,6,94" Width="253" Background="Transparent" BorderThickness="1" BorderBrush="Black" ScrollViewer.VerticalScrollBarVisibility="Auto" ItemsSource="{Binding}"/> 

背后的代码:

List<Class_ListViewItem> List_ListBoxItems = new List<Class_ListViewItem>();

private void Button_Add_Click(object sender, RoutedEventArgs e)
{
Class_ListViewItem item = new Class_ListViewItem();
item.WH = this.comboBox_WareHouseBinsRegionDefinition.SelectedItem.ToString();
item.XXFrom = textBox_XXFrom.Text;
item.XXTo = textBox_XXTo.Text;
item.YYFrom = textBox_YYFrom.Text;
item.YYTo = textBox_YYTO.Text;
item.Z = textBox_ZFrom.Text;

List_ListBoxItems.Add(item);

ListBox_BinsRegion.DataContext = List_ListBoxItems;
}

我的错误在哪里?

最佳答案

WPF 不知道您的集合何时发生变化。问题出在这里:

List<Class_ListViewItem> List_ListBoxItems = new List<Class_ListViewItem>();

您需要将列表更改为

ObservableCollection<Class_ListViewItem> List_ListBoxItems = new ObservableCollection<Class_ListViewItem>();

ObservableCollection (System.Collections.ObjectModel) 在集合更改时引发事件,以便 WPF 可以更新列表框。

此外,您可以删除以下行,或将其移动到控件的构造函数中。

ListBox_BinsRegion.DataContext = List_ListBoxItems;

关于c# - 列表框仅显示一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com