1
我有一個WPF數據網格中的項目列表。作爲源我使用ObservableCollection。其中一列也是複選框綁定到集合的布爾屬性。在同一個窗口中,我還有一個按鈕。我希望按鈕被禁用,如果複選框沒有記錄checked =所有項目都將bool屬性設置爲false。觸發器禁用並啓用按鈕
我認爲這不會是在代碼隱藏中做到這一點的任何問題,但我試圖用更多wpf方式使用樣式,觸發器等。但我不知道如何做到這一點。
我有一個WPF數據網格中的項目列表。作爲源我使用ObservableCollection。其中一列也是複選框綁定到集合的布爾屬性。在同一個窗口中,我還有一個按鈕。我希望按鈕被禁用,如果複選框沒有記錄checked =所有項目都將bool屬性設置爲false。觸發器禁用並啓用按鈕
我認爲這不會是在代碼隱藏中做到這一點的任何問題,但我試圖用更多wpf方式使用樣式,觸發器等。但我不知道如何做到這一點。
我會建議使用MVVM方法,其中涉及創建一個Command
這是DataBound到Button
。如果你還沒有使用MVVM框架,那裏有幾個。
在棱鏡(一種可能性)DelegateCommand
有一個CanExecute
委託你可以實現。然後這CanExecute
方法將評估您的ObservableCollection
項目,並決定Command
是否可以執行(啓用)或不(禁用)。如果此方法返回false,則該按鈕將被禁用。
所有其他MVVM框架將具有類似的Command
構造。
在Prism文檔中有很多有關此和其他MVVM相關活動的文檔。命令特定的文檔和示例可以在here找到。