gpt4 book ai didi

silverlight - 创建样式以在后面的代码中旋转轴标签

转载 作者:行者123 更新时间:2023-12-01 04:10:25 25 4
gpt4 key购买 nike

我需要创建一个旋转 x 轴标签的样式。
我找到了这个例子:Easily rotate the axis labels of a Silverlight/WPF Toolkit chartRotating TextHow to change AxisLabelStyle in code behind?

我需要在后面的代码中做到这一点。所以我试过这个:

var labelStyle = new Style(typeof(AxisLabel));
var rotate = new Setter(RotateTransform.AngleProperty, 270);
var setter = new Setter(AxisLabel.RenderTransformProperty, rotate);

labelStyle.Setters.Add(setter);
(xSerie.IndependentAxis as CategoryAxis).AxisLabelStyle = labelStyle;

我想我在 RenderTransformProperty 上犯了一些错误。

我必须做什么?谢谢!

编辑:
O 刚刚将我的代码更新为:
var labelStyle = new Style(typeof(AxisLabel));  
var setter = new Setter(AxisLabel.RenderTransformProperty, new RotateTransform(){Angle = -60, CenterX = 40, CenterY = 30});
labelStyle.Setters.Add(setter);

现在它工作正常!

最佳答案

如果您从代码中执行此操作,则应专注于操作转换集合。

var group = new TransformGroup();
group.Children.Add(new RotateTransform() { Angle = 270 });
control.RenderTransform = group;

或者,将您的转换添加到现有 RenderTransform :
TransformGroup renderTransform = control.RenderTransform as TransformGroup;
if (renderTransform != null)
{
RotateTransform rotate = renderTransform.Children
.FirstOrDefault(o => o is RotateTransform as RotateTransform
if(rotate == null)
{
rotate = new RotateTransform();
renderTransform.Children.Add(rotate);
}
rotate.Angle = 270;
}

哦...你也该想想你的 RenderTransformOrigin :
control.RenderTransformOrigin = new Point(0.5, 0.5);

关于silverlight - 创建样式以在后面的代码中旋转轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com