C#WPF-禁用的组合框应类似于标签
当组合框被禁用时,我正在尝试更改wpf中组合框的样式。它应该看起来像纯文本(标签) 这是我的密码:C#WPF-禁用的组合框应类似于标签,c#,wpf,combobox,styles,C#,Wpf,Combobox,Styles,当组合框被禁用时,我正在尝试更改wpf中组合框的样式。它应该看起来像纯文本(标签) 这是我的密码: <Style TargetType="{x:Type ComboBox}"> <Style.Triggers> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="Black" />
<Style TargetType="{x:Type ComboBox}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="Black" />
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="0"></Setter>
<Setter Property="Background" Value="{x:Null}" />
</Trigger>
</Style.Triggers>
</Style>
但它似乎不起作用。
有什么提示吗
您可以添加ControlTemplate
,这样组合框将显示为
文本框(无边框、背景、切换按钮等)。但它会采取行动
作为combobx(具有下拉列表)。如果
控件被解除(因此它将显示为标签)
如果控件在特定条件下看起来像另一个控件,则ContentControl可以满足此类要求。您可以根据给定的条件切换到适当的内容
<ContentControl IsEnabled="True" /> // or IsEnabled="False"
//或IsEnabled=“False”
然后通过样式切换
<Style TargetType="{x:Type ContentControl}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="true">
// combobox
</Trigger>
<Trigger Property="IsEnabled" Value="false">
// Label
</Trigger>
</Style.Triggers>
</Style>
//组合框
//标签
只需放置两个控件,组合框和标签。将每个组合框的Visibility属性绑定到您的布尔值,指示是否应启用组合框,以便一个在启用时可见,另一个在禁用时可见。在其上显示标签。如何获取标签contentcontrol?您只需将组合框替换为contentcontrol即可。
<Style TargetType="{x:Type ContentControl}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="true">
// combobox
</Trigger>
<Trigger Property="IsEnabled" Value="false">
// Label
</Trigger>
</Style.Triggers>
</Style>