Wpf 将两个文本框绑定到同一个复选框

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"

我想用一个复选框来控制两个文本框。 TextboxA在应用程序启动时启用,textboxB在应用程序启动时不可见。 如果选中该复选框,则应禁用textboxA,并且textboxB应可见

以下是我尝试过的:

<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>