Wpf 将两个文本框绑定到同一个复选框
我想用一个复选框来控制两个文本框。 TextboxA在应用程序启动时启用,textboxB在应用程序启动时不可见。 如果选中该复选框,则应禁用textboxA,并且textboxB应可见 以下是我尝试过的:Wpf 将两个文本框绑定到同一个复选框,wpf,xaml,binding,Wpf,Xaml,Binding,我想用一个复选框来控制两个文本框。 TextboxA在应用程序启动时启用,textboxB在应用程序启动时不可见。 如果选中该复选框,则应禁用textboxA,并且textboxB应可见 以下是我尝试过的: <TextBox x:Name="txtHv" AcceptsReturn="False" PreviewTextInput="NurFuenfZahlenErlauben" MaxLength="5" Grid.Row="2" Grid.Column="2" Width="Auto"
<TextBox x:Name="txtHv" AcceptsReturn="False" PreviewTextInput="NurFuenfZahlenErlauben" MaxLength="5" Grid.Row="2" Grid.Column="2" Width="Auto" KeyUp="txtHv_KeyUp" Margin="0,0,99,0">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cbKeineHv, Path=IsChecked}" Value="True">
<Setter Property="Text" Value=""></Setter>
<Setter Property="IsEnabled" Value="False"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
<CheckBox x:Name="cbKeineHv" Content="Keine HV" Grid.Column="2" HorizontalAlignment="Left" Margin="91,5,0,0" Grid.Row="2" VerticalAlignment="Top"/>
<TextBox x:Name="txtKeineHv" Visibility="Hidden" Grid.Column="3" HorizontalAlignment="Left" Height="23" Margin="39,0,0,0" Grid.Row="2" TextWrapping="Wrap" VerticalAlignment="Top" Width="120">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cbKeineHv, Path=IsChecked}" Value="True">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
但是,如果选中该复选框,则只有textboxA“txtHv”将被禁用,而textboxB“txtKeineHv”将保持不可见。我做错了什么?为什么第二个数据触发器设置程序没有启动?文本框“txtKeineHv”具有可见性的本地值:Visibility=“Hidden”
样式触发器无法覆盖它
使用Setter进行可见性设置:
<TextBox x:Name="txtKeineHv" Grid.Column="3" HorizontalAlignment="Left" Height="23" Margin="39,0,0,0" Grid.Row="2" TextWrapping="Wrap" VerticalAlignment="Top" Width="120">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cbKeineHv, Path=IsChecked}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
文本框“txtKeineHv”具有可见性的本地值:Visibility=“Hidden”
样式触发器无法覆盖它
使用Setter进行可见性设置:
<TextBox x:Name="txtKeineHv" Grid.Column="3" HorizontalAlignment="Left" Height="23" Margin="39,0,0,0" Grid.Row="2" TextWrapping="Wrap" VerticalAlignment="Top" Width="120">
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=cbKeineHv, Path=IsChecked}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>