【发布时间】:2019-08-16 09:13:58
【问题描述】:
我想使用一个复选框来控制 2 个文本框。 TextboxA 在应用程序启动时启用,textboxB 在应用程序启动时不可见。 如果复选框被选中,那么 textboxA 应该是 DISABLED 而 textboxB 应该是 VISIBLE。
这是我尝试过的:
<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" 仍然不可见。我究竟做错了什么?为什么第二个数据触发器设置器没有触发?
【问题讨论】: