2011-12-05 3 views
0

xaml의 두 컨트롤 사이에서 DataBind를 사용하고 싶습니다.두 컨트롤 사이의 데이터 바인딩

<MenuItem Header="_Log" IsCheckable="True"/> 

<TextBox Name="_commandsRichTextBox" ,Visibility="Collapsed"/> 

그리고 컨버터 썼다 :

class BoolToVisibilityConverter : IValueConverter 
    { 
     public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      if (targetType != typeof(Visibility)) 
       throw new InvalidOperationException("The target must be a Visibility"); 

      return (bool)value ? Visibility.Visible : Visibility.Collapsed;  

     } 

     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      throw new NotImplementedException(); 
     } 
    } 

그리고 나는 지금 모든 것을 연결하는 문제가 있습니다.

도우미에게 감사드립니다.

답변

2

는 이미위한 변환기있다 : BooleanToVisibilityConverter

난 단지 당신이 데이터가보기에 남아 있음을 확신 할 수있는 경우 제어하는 ​​제어 바인딩 추천 할 것입니다
<Window.Resources> 
    <BooleanToVisibilityConverter x:Key="converter"/> 
</Window.Resources> 
<!-- ... --> 
<MenuItem Name="mi" Header="_Log" IsCheckable="True"/> 
<TextBox Name="_commandsRichTextBox" Visibility="{Binding IsChecked, ElementName=mi, Converter={StaticResource converter}}"/> 

, 그렇지 않으면 바인딩 특성과 단지 바인딩을 만들 이 두 컨트롤을 모두 사용하면 MenuItem이 값을 변경하고 TextBox가 반응합니다.

관련 문제