2010-11-11 123 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或例如)調用該函數提供了一種乾淨的方式來執行所需的任何操作,而不會在代碼中引入副作用,例如,如果您從屬性設置器或您的代碼中調用該函數,例如,那將不會對其他開發人員來說很明顯。或者對你而言,當你從現在開始恢復這一年的時候。 :)