我是WPF的新手,但我搜索了很多,最后决定向你们寻求帮助......
我有一个类 - 位置 主要属性为 -
地点名称
LocationID
我希望将此类绑定到WPF中的组合框.我从数据库中获取位置列表.我需要在组合框中显示列表,第一个文本/值对为 ---选择一个--- /-1.现在,到目前为止,我已经做到了 -
创建 -
public ObservableCollection<ComboBoxItem> cbLocationList { get; set; }
cbLocationList = new ObservableCollection<ComboBoxItem>();
SelectedcbDefaultLocationListItem = new ComboBoxItem { Content = "---Select One---" , Tag="-1"};
cbLocationList.Add(SelectedcbDefaultLocationListItem);
Run Code Online (Sandbox Code Playgroud)
将项目填入循环中 -
foreach (Location loc in LocationtList)
{
cbLocationList.Add(new ComboBoxItem { Content = loc.LocationName, Tag=loc.LocationID.ToString() });
}
Run Code Online (Sandbox Code Playgroud)
我在XAML 中将cbLocationList设置为 -
ItemsSource="{Binding cbLocationList}"
Run Code Online (Sandbox Code Playgroud)
组合框.这很好用,但在重置表单时,我需要将组合框的值重置为"-1".我无法使用tag属性执行此操作.(我搜索过,似乎我们没有像ListItem那样的值属性)每个主体似乎建议我将它与类绑定并设置DisplayMemberPath和SelectedValuePath.现在如果我直接绑定我的Location类,如何插入--Select One--项.我可以通过创建一个虚拟对象并在绑定之前将其插入我的列表中来实现.但这是在WPF中工作的最佳方式吗?也许我错过了一种完全不同的方法.请指教.
提前致谢.!