我有一个看起来像这样的UserControl的XAML:
<UserControl>
<UserControl.RenderTransform>
<ScaleTransform ScaleX="1" ScaleY="1" />
</UserControl.RenderTransform>
<UserControl.Style>
<Style TargetType="UserControl">
<Style.Triggers>
<DataTrigger Binding="..." Value="...">
<Setter Property="RenderTransform.ScaleX" Value="0.5" />
<Setter Property="RenderTransform.ScaleY" Value="0.5" />
</DataTrigger>
</Style.Triggers>
</Style>
</UserControl.Style>
</UserControl>
但是当我编译时,我收到错误:
无法解析样式属性'ScaleX'。验证拥有 type是Style的TargetType,或者使用Class.Property语法来 指定属性。
我尝试过各种各样的物业排列,但我找不到真正有效的排列。在其他情况下,我只会命名ScaleTransform并使用TargetName引用它。但是你不能在Style Setter中使用TargetName。
我想我的替代方案是这样的:
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="0.5" ScaleY="0.5" />
</Setter.Value>
</Setter>
但这似乎有点严厉。
我确定我只是遗漏了一些东西。但我真的可以在这里使用一些帮助。
答案 0 :(得分:2)
Setter不允许属性路径。如果您的方案允许它使用新的转换整个转换。或者,您可以使用单帧动画,这甚至更重。