WPF:MVVM 为 devExpress 控件创建自定义依赖项属性

本文关键字:自定义 依赖 属性 创建 控件 MVVM devExpress WPF | 更新日期: 2023-09-27 18:37:28

我知道您可以为 wpf 控件创建自定义控件和依赖项属性,例如此处 expained http://msdn.microsoft.com/en-us/library/ms753358.aspx,我想知道您是否可以以相同的方式为 devExpress 控件创建自定义依赖项属性? 以及如何?

无法在 comboxBoxEdit 控件中绑定多个项目。我想在ComboBoxEdit上创建一个名为SelectedItems的依赖项属性。

我已经在普通组合框上创建了一个名为 SelectedEnumeration 的自定义属性,它直接绑定到枚举并获取值。无需使用 ObjectDataProvider。

WPF:MVVM 为 devExpress 控件创建自定义依赖项属性

无法在 comboxBoxEdit 控件中绑定多个项目。

错。检查DevExpress.Xpf.Editors.CheckedComboBoxStyleSettings

基本上,您可以将ComboBoxEdit.EditValue绑定到集合,该集合填充了所选项目。

<dxe:ComboBoxEdit ItemsSource="{Binding MyItems}"
                  EditValue="{Binding SelectedItems}">
    <dxe:ComboBoxEdit.StyleSettings>
        <dxe:CheckedComboBoxStyleSettings />
    </dxe:ComboBoxEdit.StyleSettings>
</dxe:ComboBoxEdit>

视图模型:

public class SomeViewModel
{
    public ObservableCollection<MyClass> MyItems {get;set;}
    public ObservableCollection<MyClass> SelectedItems {get;set;}
}

我已经在普通组合框上创建了一个自定义属性,名为 SelectedEnumeration,它直接绑定到枚举并获取 价值。无需使用 ObjectDataProvider。

你把太多的责任放在了不属于 UI 的地方。创建一个适当的视图模型,并让视图模型以这样一种方式处理您的数据,以便于定期将数据绑定到 UI。不要诉诸反射和其他类型的不必要的黑客来将逻辑放在错误的层中。