2011-02-25 113 views
1

我有一個UserControl並將其DataContext綁定到一個對象。我也該用戶控件的IsEnabled屬性綁定到該對象例如布爾屬性:將UserControl綁定到NULL DataContext

<my:MyUserControl DataContext="{Binding Items.SelectedItem}" IsEnabled="{Binding Path=IsEditable}"/> 

能正常工作提供Items.SelectedItem不爲空。但是,如果它爲空(如果Items集合爲空,有時會發生這種情況),則IsEnabled綁定不會被評估並設置爲true,這不是所需的行爲。

我試過使用MultiBinding但沒有成功,因爲我不知道是否可以綁定到DataContext。我也試過使用DataTrigger,但又沒有成功。

會有人指出我正確的方向,我應該這樣做的正確方向。

謝謝!

回答

2

嘗試:

<my:MyUserControl 
    DataContext="{Binding Items.SelectedItem}" IsEnabled="{BindingPath=IsEditable, 
    FallbackValue=False,TargetNullValue=False}"/> 
+1

太棒了!謝謝你和其他所有推薦FallbackValue的人,那就是訣竅。非常簡單! – EBots 2011-02-25 23:29:46

0

您是否嘗試過FallbackValue =假?

<my:MyUserControl DataContext="{Binding Items.SelectedItem}" IsEnabled="{Binding Path=IsEditable,FallbackValue=False}"/> 
相關問題