是否可以在VisualState中缩放控件

时间:2015-12-24 01:56:35

标签: xaml windows-10-universal

在AdaptiveTrigger中使用MinWindowWidth我可以更改背景颜色,但我无法应用缩放变换。

<VisualState x:Name="NarrowState">
    <VisualState.StateTriggers>
        <AdaptiveTrigger MinWindowWidth="0"
    </VisualState.StateTriggers>
    <VisualState.Setters>
        <Setter Target="hsCards.(Control.Background)">
            <Setter.Value>
                 <SolidColorBrush Color="Green"/>
            </Setter.Value>
        </Setter>
        <Setter Target="hubFlashCards.(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Value="0.8"/>
            <Setter Target="hubFlashCards.(UIElement.RenderTransform).(CompositeTransform.ScaleY)" Value="0.8"/>
    </VisualState.Setters>
</VisualState>

缩放不仅不起作用,而且背景Setter也不起作用。如果我删除缩放变换背景Setter工作正常。 我做错了什么或者不能以这种方式使用RenderTransform?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我会将x:Name直接分配给CompositeTrasform元素。然后是视觉状态:

 <VisualState x:Name="NarrowState">
    <VisualState.StateTriggers>
        <AdaptiveTrigger MinWindowWidth="0">
    </VisualState.StateTriggers>
    <VisualState.Setters>
        <Setter Target="hsCards.Background">
            <Setter.Value>
                 <SolidColorBrush Color="Green"/>
            </Setter.Value>
        </Setter>
        <Setter Target="yourComposite1.ScaleX" Value="0.8"/>
            <Setter Target="yourComposite1.ScaleY" Value="0.8"/>
    </VisualState.Setters>
</VisualState>

我可能不完全像你的解决方案,但这是我从UWP开始以来的使用方式。