绑定Button.Enabled到多个属性

时间:2010-10-23 00:30:34

标签: c# .net winforms

只有当其他两个属性设置为null以外的值时,才需要启用一个按钮。我可以手动,但我想知道是否有办法使用.net的Binding类。我正在使用.net 4.0使用Windows窗体。

2 个答案:

答案 0 :(得分:3)

不,我不相信这在WinForms应用程序中是可行的。 WinForms绑定是源对象和属性与目标上的数据成员之间的1对1映射。

解决这个问题的一个简单方法是创建第3个属性,它只是执行您要检查的检查并创建对该属性的绑定。

public object Property1 {get; set;}
public object Property2 {get; set;}
public bool Property3
{
    get { return Property1 != null && Property2 != null; }
}

答案 1 :(得分:0)

绑定Button.IsEnabled属性并使用IMultiValueConverter ...然后只有在值不为null时才能返回true。

<Button.IsEnabled>
    <MultiBinding Converter="{StaticResource MyConverter}">
        <Binding Property1 />
        <Binding Property2 />
    </MultiBinding>
</Button.IsEnabled>