WPF:如何在Trigger里修改Orientation?

2021-02-08 14:59发布

问题:

<Style TargetType={x:Type TabControl}>
...
<WrapPanel x:Name="myPanel" ...
...
<Trigger>
<Setter TargetName="myPanel" Property="Orientation" ...
</Trigger>
...
...
...
</Style>

如何在Trigger里修改Orientation?我想让Orientaion在某些Trigger下使用不同的布局方向

回答1:

代码如下,需要注意的是,默认WrapPanel的orientation属性要写在style里,写在WrapPanel特性中的属性是本地值,无法通过trigger改变

<WrapPanel>
    <WrapPanel.Style>
        <Style TargetType="WrapPanel">
            <Setter Property="Orientation" Value="Horizontal"/>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property="Background" Value="Red"/>
                        <Setter Property="Orientation" Value="Vertical"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </WrapPanel.Style>
    <Button Content="button1" Margin="10"/>
    <Button Content="button1" Margin="10"/>
</WrapPanel>


回答2:

你这不是基本写出来吗?
trigger的基本用法,设置好property和value就好了。
你就剩下属性和值没有写。



标签: wpf c#