我有一個自定義的DepenencyProperty,它決定了UserControl的可見性。它通常綁定到一個布爾值,但是我想在Escape鍵被擊中時將其設置爲False。如何更新綁定的自定義依賴項屬性的來源?
問題是,我不想覆蓋綁定,我想更新綁定源值。我如何在代碼背後做到這一點?
例如,與此XAML
<local:MyControl IsVisibile="{Binding IsControlVisible}" />
我想更新的IsControlVisible
假的價值,而不是MyControl.IsVisible
「MyDataItem」類不是靜態類,所以我不認爲這會起作用。多個ViewModel包含這種類型的控件,每個控件都使用不同的布爾值來確定可見性。 – Rachel 2011-04-07 16:15:41
'MyDataItem'不應該是一個靜態類,這只是對你的對象持有屬性'IsControlVisible'的強制轉換。 – 2011-04-07 16:18:00
@HB我不能這樣做,因爲我不知道可見性綁定了什麼類,甚至是什麼布爾屬性被調用。 ViewModelA可能包含此UserControl並綁定到屬性'ViewModelA.IsControlVisible',而ViewModelB可能綁定到'ViewModelB.CanEdit' – Rachel 2011-04-07 16:24:16