嗨,我有一个简单的要求。我的任务是在 XY 轴上显示几条折线,这些折线可以在任何屏幕上很好地缩放,并且可以显示任何范围的数据。
所以我创建了 PloyLines 并使用当时的屏幕尺寸和最大值在它们上添加了缩放变换。
XAML-基本上是一条直线,为简单起见添加,可以是复杂的方程曲线
<Polyline Name="Line45" Points="0,0 1,1 2,2 3,3 4,4 5,5 6,6 7,7 8,8 9,9 10,10 11,11 12,12 13,13 14,14 15,15 16,16 17,17 18,18 19,19 20,20 "
Stroke="Blue" StrokeThickness="10">
<Polyline.LayoutTransform>
<ScaleTransform ScaleY="{Binding ScaleY,Mode=TwoWay}" ScaleX="{Binding ScaleX,Mode=TwoWay}"/>
</Polyline.LayoutTransform>
</Polyline>
代码背后
private void Canvas_SizeChanged(object sender, SizeChangedEventArgs e)
{
vm.ScaleCanvas(e.NewSize, e.PreviousSize);
}
和视图模型
public void ScaleCanvas(Size thisNewSize, Size thisOldSize)
{
NewSize = thisNewSize;
ScaleY = thisNewSize.Height / MaxLimitY;
ScaleX = thisNewSize.Width / MaxLimitX;
}
现在我的要求是添加动态缩放 XY 轴,这样我就可以从 0 到MaxLimitX
0 到MaxLimitY
.
我不知道如何进行。任何想法都会有所帮助。提前致谢。