0

我正在使用带有 MVVM 的 WPF 开发我的系统,但我无法找到解决以下问题的最佳方法:

我有一个屏幕,其中在特定位置绘制了许多组件(用户控件)。屏幕中的所有组件都根据屏幕 VM 计算的绑定变量进行旋转、平移和缩放。

然而,这些组件中的每一个都可以具有不同的旋转中心、不同的平移原点和不同的比例,这取决于内部变量和屏幕比例。

如何在用户控件内部计算这种转换?我认为更简单的方法是使用Converter,但是由于我有许多具有不同行为的不同用户控件,因此我必须创建多个彼此非常相似的转换器,这不是理想的解决方案。

非常感谢你的帮助!

4

1 回答 1

0

AUIElement只有一个RenderTransformOrigin。某些转换允许您设置该转换的原点,但在相对于控制边界的坐标中(例如:)125, 34而不是在比例坐标中,例如RenderOrigin(例如0.5, 0.75:)

因此,如果您可以使用坐标,那么您就可以开始了。

如果不是,您可以通过创建转换组来组合转换,这些转换组首先转换控件,然后执行转换,然后再转换回控件。

如果您需要更多帮助,请发布您正在尝试实现的示例。

于 2012-05-21T14:12:11.233 回答