我正在用户控件中编写一个样式来控制轴集合中单轴的样式。这一切都有效,但现在我想整合AxisTitle的旋转 但如果我执行以下操作(仅显示标题设置器):
<UserControl.Resources>
<Style x:Key="AxisStyle" TargetType="myLib:AxisBase">
<Setter Property="AxisTitle" Value="{Binding Title, Mode=OneWay}" />
<Setter Property="RenderTransform">
<Setter.Value>
<RotateTransform Angle="90" />
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
然后将旋转应用于轴基,轴轴不仅是标题的所有轴。 (我理解为什么)
但是,如何更改代码以使此RenderTransform应用于AxisTitle?
如果我对轴的特定实例执行此操作,则有以下内容:
<Resources>
<Style x:Key="AxisTitleStyle" TargetType="myLib:AxisTitle">
<Setter Property="RenderTransform">
<Setter.Value>
<RotateTransform Angle="90" />
</Setter.Value>
</Setter>
</Style>
</Resources>
<Axis Style="{StaticResource AxisTitleStyle>/>
但是我想把它放在AxisBase的造型上来设计里面的标题。
问:这可能吗?
这只是我最终想要实现的第一步。像这样的属性依赖旋转(伪代码):
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Axis.RotateTitle}" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<RotateTransform Angle="90" />
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=Axis.RotateTitle}" Value="False">
<!-- Do nothing -->
</DataTrigger>
</Style.Triggers>
但首先我必须找出如何将RenderTransform设置为Style内的AxisTitle。
答案 0 :(得分:0)
当然,我必须看到Axis可视化树,以确定您想要什么,但听起来您想要将变换应用于绑定到Axis内轴标题的xaml元素。毫无疑问,Axis是一个可视化树,您可以轻松地使用Blend拆分(编辑现有模板)。
获得Axis的完整现有样式模板后,您可以调整实际引用/绑定到标题的位,以便动态应用变换。希望有所帮助...