2011-02-25 9 views
1

나는 UserControl을 가지며 DataContext를 객체에 바인딩하고 있습니다. 나는 또한 그 객체의 예의 부울 속성에있는 UserControl의 IsEnabled 속성을 바인딩이 잘 Items.SelectedItem이 null이 제공하는 작품NULL DataContext에 UserControl 바인딩

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

. 그러나 null 인 경우 (Items 컬렉션이 비어있는 경우 가끔 발생 할 수 있음) IsEnabled 바인딩이 평가되지 않고 true로 설정되어 원하는 동작이 아닙니다.

DataContext에 바인딩 할 수 있는지 모르겠으므로 MultiBinding을 사용해 보았지만 성공하지 못했습니다. DataTrigger를 사용해 보았지만 성공하지 못했습니다.

올바른 방법으로 올바른 방향으로 누군가 나를 친절하게 가리켜 주겠습니까?

감사합니다.

답변

2

시도 :

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

Brilliant! FallbackValue를 제안 해 주신 모든 분들께 감사드립니다. 너무 초조해! – EBots

0

당신이 FallbackValue = False를 시도?

<my:MyUserControl DataContext="{Binding Items.SelectedItem}" IsEnabled="{Binding Path=IsEditable,FallbackValue=False}"/> 
관련 문제