是否可以在 VisualState 中缩放控件
Is it possible to scale a control in a VisualState
在 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?
在这种情况下,我会将 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 以来,这是我使用的方式。
在 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?
在这种情况下,我会将 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 以来,这是我使用的方式。