2016-06-07 9 views
0

Ich habe ein Problem mit einer meiner Sichtbarkeitsbindungen. In meiner Anwendung habe ich eine Textbox und eine Combobox fast an der gleichen Stelle. Sie überschneiden sich, also habe ich zwei Variablen im Hintergrund für ihre Sichtbarkeit. Sie befinden sich in einem Datagrid, daher wird die Sichtbarkeitsquelle aus der Liste bereitgestellt.Warum funktioniert meine Sichtbarkeitsbindung nicht?

die Bindung von meiner Combobox arbeitet absolut in Ordnung, aber die einer meiner Textbox nicht

Hier ist mein Code:

<TextBox x:Name="Textvalue" 
      HorizontalAlignment="Left" 
      VerticalAlignment="Center" 
      Width="150" 
      BorderBrush="#FF383F55" 
      BorderThickness="0" 
      Foreground="White" 
      Background="#FF232734" 
      Text="{Binding Path=Value, UpdateSourceTrigger=PropertyChanged}" 
      Visibility="{Binding Path=IsPath}"/> 

<ComboBox x:Name="Combobox" 
      VerticalAlignment="Center" 
      Foreground="White" 
      Margin="3,3,3,3" 
      Height="23" 
      ItemsSource="{Binding Path=ValueArray}" 
      SelectedValue="{Binding Path=Value, UpdateSourceTrigger=PropertyChanged}" 
      Style="{DynamicResource ComboBoxStyle1}" 
      Visibility="{Binding Path=IsCombobox}"/> 

Das sind meine Get Property für beide (Beide haben nur die Holen Proberty):

public System.Windows.Visibility isPath 
{ 
    get 
    { 
     return _IsPath; 
    } 
} 

public System.Windows.Visibility IsCombobox 
{ 
    get 
    { 
     return _IsCombobox; 
    } 
} 

ich hoffe, Sie können mir helfen, weil ich nicht weiß, was los ist hier:/ Vielen Dank im Voraus

Was ich versucht habe:

Versucht, die Bindung an eine andere Variable zu ändern.

+0

Ist Vievmodel korrekt gebunden? Haben Sie versucht, den Breakpoint in 'IsCombobox'-Eigenschaft zu setzen und zu sehen, ob er erreicht ist? –

+0

Visibility = "{Binding IsCombobox}" anstelle von Visibility = "{Binding Path = IsCombobox}" verwenden –

+0

Der Eigenschaftsname in Ihrem Code hat einen Kleinbuchstaben 'i' 'public System.Windows.Visibility isPath' und der XAML hat einen Großbuchstabe I beim Binden von 'IsPath'. –

Antwort

0

Der Eigenschaftsname in Ihrem Code hat ein kleines 'i' public System.Windows.Visibility isPath und das XAML hat ein Großbuchstabe I in der Bindung von IsPath. Ändern Sie dies und es sollte funktionieren!

{Credit C S, ich habe bereits angefangen, dies zu schreiben}