看到一些关于 SO 的问题,但没有人回答我的问题。
我想要完成的事情:我有一个自定义控件(我们称之为 A),它使用情节提要在画布上移动。我想将另一个自定义控件的画布(我们称之为 B)位置绑定到第一个控件上。
使用 TransformToVisual(Application.Current.RootVisual) 我可以获得控件 A 的实际位置,但我不知道如何在此绑定到 B 的 Canvas.Left 和 Canvas.Top。
有没有人想出如何完成这项任务?或者让我指出正确的方向?
看到一些关于 SO 的问题,但没有人回答我的问题。
我想要完成的事情:我有一个自定义控件(我们称之为 A),它使用情节提要在画布上移动。我想将另一个自定义控件的画布(我们称之为 B)位置绑定到第一个控件上。
使用 TransformToVisual(Application.Current.RootVisual) 我可以获得控件 A 的实际位置,但我不知道如何在此绑定到 B 的 Canvas.Left 和 Canvas.Top。
有没有人想出如何完成这项任务?或者让我指出正确的方向?
我假设您通过更新其 Canvas.Left 和 Canvas.Right 属性来移动控件 A 的位置?如果是这种情况,您不需要使用 TransformToVisual,您只需将它们的 Canvas Top 和 Left 属性绑定在一起:
<Canvas >
<TextBlock x:Name="ControlB"
Text="Some Text"
FontSize="15"
Canvas.Left="{Binding ElementName=ControlA, Path=(Canvas.Left)}"
Canvas.Top="{Binding ElementName=ControlA, Path=(Canvas.Top)}"/>
<TextBlock x:Name="ControlA"
Text="Some Text"
FontSize="13"
Canvas.Left="100"
Canvas.Top="100"/>
</Canvas>
问候,科林 E。