Wpf 从用户控件访问转换';s风格
我为UserControl提供了一些XAML,大致如下所示:Wpf 从用户控件访问转换';s风格,wpf,xaml,styles,Wpf,Xaml,Styles,我为UserControl提供了一些XAML,大致如下所示: <UserControl> <UserControl.RenderTransform> <ScaleTransform ScaleX="1" ScaleY="1" /> </UserControl.RenderTransform> <UserControl.Style> <Style TargetType="Use
<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>
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="0.5" ScaleY="0.5" />
</Setter.Value>
</Setter>
但是当我编译时,我得到了一个错误:
无法解析样式属性“ScaleX”。验证拥有
类型是样式的TargetType,或使用Class.Property语法
指定属性
我尝试过各种属性的排列,但我找不到一种真正有效的。在其他情况下,我将只命名ScaleTransform并使用TargetName引用它。但是不能在样式设置器中使用TargetName
我想我的选择是这样的:
<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>
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="0.5" ScaleY="0.5" />
</Setter.Value>
</Setter>
但这似乎有点严厉
我肯定我错过了什么。但是我确实需要一些帮助。设置程序不允许属性路径。如果您的场景允许,则使用新的转换切换整个转换。或者,您可以使用单帧动画,它甚至更重。相关:谢谢H.B.-我恐怕是这样的。但我倾向于认为我做错了什么:)@Tim:遗憾的是,样式设置有很多限制,另一个限制是不能将多个样式应用于一个控件,这在某些情况下非常有用。