我有 ListBox 并且想从 DataTable 将值放入此列表框中:

listBoxVisibleFields.DataContext = SelectedFields;

其中 SelectedFields 是填充数据的 DataTable。但是这段代码不起作用。我的 ListBox 是空的。我记得,在 WinForms 中,像 ValueMemberDisplayMember 这样的列表框是这样的,但在 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/

10-13 07:48