2010-11-11 266 views
0

我有以下复选框:WPF绑定命令

<dxe:CheckEdit Margin="2,0" IsChecked="{Binding SelectedContact.isMajor,Mode=TwoWay,Converter={StaticResource CheckBoxNullToFalse}}">More than 18</dxe:CheckEdit> 

这就是我想要实现:当在复选框用户点击,我要调用一个函数,而且分配isMajor领域。

我看到如何做到这一点的唯一方法是绑定到将同时进行操作

有没有更简单的方式命令?
感谢
约翰

+0

什么是isMajor字段,另一个复选框或数据库中的某个字段? – 2010-11-11 17:00:59

回答

1

isMajor一个属性,而不是一个字段,并调用一个方法在二传手

private bool _isMajor; 
public bool IsMajor 
{ 
    get { return _isMajor; } 
    set 
    { 
     _isMajor = value; 
     OnPropertyChanged("IsMajor"); 
     DoSomething(); 
    } 
} 
1

说实话,用命令是发生在我的第一件事。我假设dxe:CheckEdit是一些CheckBox变体 - 您可能会发现ToggleButton有用,作为替代方法,具体取决于您要查找的行为。

我不知道你所说的“简单”(最少的代码,最容易理解等)的意思,但结合IsCheckedisMajor财产(按@Thomas Levesque的),并绑定到一个命令(Relay或例如)调用该函数提供了一种干净的方式来执行所需的任何操作,而不会在代码中引入副作用,例如,如果您从属性设置器或您的代码中调用该函数,例如,那将不会对其他开发人员来说很明显。或者对你而言,当你从现在开始恢复这一年的时候。 :)