我有 ListBox
并且想从 DataTable
将值放入此列表框中:
listBoxVisibleFields.DataContext = SelectedFields;
其中
SelectedFields
是填充数据的 DataTable
。但是这段代码不起作用。我的 ListBox
是空的。我记得,在 WinForms 中,像 ValueMember
和 DisplayMember
这样的列表框是这样的,但在 WPF 中我没有找到类似的东西......有人知道如何从
ListBox
简单地填写我的 DataTable
吗? 最佳答案
您正在寻找的属性是 ItemsSource
而不是 DataContext
。与 ValueMember 最相似的属性称为 SelectedValuePath
(参见 this example )。 DisplayMember 的类比称为 DisplayMemberPath
。
编辑:所以,你的代码应该是这样的:
DataTable SelectedFields = ...;
listBoxVisibleFields.SelectedValuePath = "myID";
listBoxVisibleFields.DisplayMemberPath = "myTextField";
listBoxVisibleFields.ItemsSource = SelectedFields.DefaultView;
或者,可以在 XAML 中设置两个路径值
<ListBox ... SelectedValuePath="myID" DisplayMemberPath="myTextField" />
这更优雅一些。
关于WPF ListBox - 如何从数据表中放入值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1790878/