textbox根据combobox的值确定能否修改

定义textbox的样式,以及相应的触发事件

触发事件需要选择datatrigger,绑定的值为combobox的text,当text符合要求时,设置textbox的property如isreadonly,fousable的值。当combobox的值为修改锁定时,textbox不可选中和修改。

  <Window.Resources>
       
        <Style x:Key="TxtDark" TargetType="TextBox">
            <Setter Property="Background" Value="#f0f0f0"></Setter>
            <Setter Property="Height" Value="30"></Setter>
            <Setter Property="FontSize" Value="15"></Setter>
            <Setter Property="BorderBrush" Value="#e3e2e2"></Setter>
            <Setter Property="BorderThickness" Value="1"></Setter>
            <Setter Property="Padding" Value="5,5"></Setter>
            <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
            <!--设定触发器,根据修改锁定与否,确定文本框能否修改-->
            <Style.Triggers>
                <DataTrigger Binding="{Binding Text , ElementName=cmb}" Value="修改锁定">
                    <Setter Property="IsReadOnly" Value="True"/>
                    <Setter Property="Focusable" Value="False"></Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>

xml代码

combobox选中修改锁定这一项时,textbox无法修改。

<ComboBox Name="cmb" VerticalContentAlignment="Center" Margin="5" FontSize="15">
                <ComboBoxItem Name="cb" Content="修改锁定" IsSelected="True" FontSize="15"></ComboBoxItem>
                <ComboBoxItem  Content="修改解锁" FontSize="15"></ComboBoxItem>
            </ComboBox>
<TextBox Text="{Binding Name}" Style="{StaticResource TxtDark}"></TextBox>
上一篇:linux驱动工程面试必问知识点


下一篇:Winform ComboBox 下拉列表多显示