【发布时间】:2014-05-24 21:55:08
【问题描述】:
请检查所附图片。我通过 RenderTransformOrigin="0.5,0.5" 将文本块原点设置为它的中心。现在我想根据参考点移动文本块。可能是 (0,0 ) 或 (10,10) 或......这些是绝对点。例如,在 (0,0) 的情况下,文本块应根据其参考点移动到绝对 (0,0)。我知道如何通过 TranslateTransform 进行相对移动,但这种情况下我需要绝对变换。
【问题讨论】:
-
您是否希望
TextBlock的位置在运行时移动(需要重新计算其渲染变换),或者它只是在 Window / TextBlock 首先移动时的一次移动加载? -
@McGarnagle,实际上文本的集合是来自数据源的动态,我需要在窗口加载后动态定位文本(例如,简单的情况,如果用户输入文本和位置一个文本框,它应该根据输入显示在画布中)
-
顺便说一句,为什么这个过程在 WPF 中如此复杂?我来自 winform 方面,现在开始关注 WPF :-)
-
实际上,可能有一种更简单的方法可以到达您要去的地方,使用面板或其他东西(例如,给元素一个绝对位置,通常您应该使用 Canvas)。换句话说,正如他们所说,您可能提出了“XY 问题”。我的回答绝对看起来像是一个过于复杂的 hack。
标签: wpf wpf-controls textblock