WPF不透明的一般风格



i具有按预期工作的style。我正在尝试将其概括为所有控件。

问题:如果我用控件替换了类型的组合。它不起作用了。我正在尝试避免为每种控制类型创建样式。

<Style TargetType="{x:Type ComboBox}">
<Setter Property="IsEnabled" Value="{Binding Path=myProperty}"/>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="ComboBox.Opacity" Value="1" />
</Trigger>
</Style.Triggers>
</Style>

我认为没有办法完全做您想要的事情。虽然这不允许您避免通过使用基于基于基础的子来继承您定义的样式的每种类型的样式。

<Resources>
    <Style x:Key="InvisibleWhenDisabled" TargetType="{x:Type Control}">
        <Setter Property="IsEnabled" Value="{Binding Path=myProperty}"/>
        <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Opacity" Value="0" />
            </Trigger>
        </Style.Triggers>
    </Style>
    <Style TargetType="ComboBox" BasedOn="{StaticResource InvisibleWhenDisabled}"/>
    <Style TargetType="Button" BasedOn="{StaticResource InvisibleWhenDisabled}"/>
</Resources>

相关内容

  • 没有找到相关文章

最新更新