以编程方式为WPF表单创建复选框绑定

时间:2015-12-05 03:28:12

标签: c# wpf checkbox data-binding devexpress

我需要以编程方式为驻留在WPF表单中的复选框创建绑定。因为复选框位于多次添加到表单的用户控件中,所以我不确定如何执行此操作。我已经为DevExpress RichEdit控件创建了一个绑定,该控件工作,然后修改了该复选框的代码,但它没有用。

我返回绑定的代码如下:

private Binding SetIsCorrectBinding(int row) 
    {
        Binding binding = new Binding("DataModel.DetailList[" + row + "].IsCorrect")
        {
            Path = new PropertyPath("DataModel.DetailList[" + row + "].IsCorrect"),
            Mode = BindingMode.TwoWay
        };
        return binding;
    }

实现绑定的代码如下:

Binding cbBind = SetIsCorrectBinding(row);
detailRow.IsCorrect_cb.SetBinding(CheckBox.ContentProperty, cbBind);

无论我尝试什么,IsCorrect变量始终为false。 对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

请尝试下一个:

    var xBinding = new Binding();
    //a real instance of the object where the source property is defined
    //it have to be the same instance which is defined in DataModel.DetailList
    xBinding.Source = sourceInstance;
    xBinding.Path = new PropertyPath("The_source_property_name");
    xBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
    xBinding.Mode = BindingMode.TwoWay;
    //Use this instead the .SetBinding( , ) where the checkbox is the object to binded to
    BindingOperations.SetBinding(checkbox, CheckBox.ContentProperty, xBinding);

请查看下一个解决方案here,我认为它可以为您提供更多信息。 如果您遇到代码问题,我很乐意提供帮助。 的问候,