如何在使用DataTemplate创建的对象列表中的ListBox中设置项目的C# WPF
如何在使用DataTemplate创建的对象列表中的ListBox中设置项目的C# WPF
这个问题在下面已经有了答案:
C# - WPF
我有一个名为“lstCustomer”的列表框,用“Id_Name”对象的List填充
在代码的某一点,我得到一个ID - 例如“2”
如何以编程方式选择具有ID为2的listBox元素?
lstCustomer.SelectedIndex = ????
代码 - 填充列表
List list = new (); list.Add(new Id_Name { Id = "1" , Name = "John" }); list.Add(new Id_Name { Id = "2", Name = "Jim" }); list.Add(new Id_Name { Id = "3", Name = "Frank" }); lstCustomer.ItemsSource = list;
XAML - LISTBOX和DATATEMPLATE
admin 更改状态以发布 2023年5月23日
如果您不是非常想使用索引,我建议绑定ListBox的SelectedItem属性:
然后在您的ViewModel中,您可以简单地设置该属性:
public Id_Name SelectedId_Name { get; set; } //Needs to call your implementation of INotifyPropertyChanged [...] SelectedId_Name = list.Where( x => x.Id == "2").FirstOrDefault();
或者利用ListBox内置的SelectedValue功能:
使用
public string SelectedId { get; set; } // plus notification [...] SelectedId = "2";