数据绑定WPFComboBox与“新...”项目大家好,我有一个组合框,它是数据绑定到元素列表的。但除了元素列表之外,我还想要另一个项目。这个项目应该显示文本“New...”想法是,如果他们选择一个普通元素,它将执行一些涉及该元素的操作。如果他们选择“新建”元素,则会将他们带到可以创建新项目的屏幕。问题是当你对某些东西进行数据处理时,你没有选择向它添加另一个项目,并且向元素列表添加一个虚拟项目没有问题......这是一个基于ComboBox的ComboBox与“DefaultElement”属性创建新控件的机会?(包含所有相关的模板和命令绑定等)为此,我之前为普通类型创建了一个虚拟包装类,它允许您绑定到一个包含大部分正确值和一个“新...”的列表,例如公共类DisplayClass{publicDisplayClass(ModelClassmc){this.mc=mc;}publicstringName{get{returnthis.mc!=null?this.mc.Name:"新建...";}}publicboolIsDummy{returnthis.mc==null;}publicModelClassModel{returnthis.mc;然后,您可以在数据上下文(ViewModel)中托管这些集合,并根据IsDummy适当地处理选择。它不像内置的控件那样自动,但它非常简单并且可以很容易地变成通用的,因此可以重复使用。将ItemsSource属性设置为包含新项和绑定集合的CompositeCollection,然后根据所选索引或类似内容检测对项的选择。示例代码:添加新项...CompositeCollection的MSDN:http://msdn.microsoft.com/en-us/library/system.windows.data.compositecollection(v=vs.110).aspx记住,绑定什么您得到的是一组面向UI的项,它们可以与业务或数据实体区分开来。如果我是你,我会在绑定集合的第一个位置插入一个“新”实体,并在我的视图模型中检测它以在用户选择它时触发适当的操作。以上就是C#学习教程的全部内容:数据绑定WPFComboBox和'New...'项目。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
