在SO上看到一些问题,但没有人回答我的问题。
我想要完成的事情: 我有一个自定义控件(让我们称之为A),它使用故事板在画布上移动。我想将另一个自定义控件的画布(让我们称之为B)绑定到第一个控件上。
使用TransformToVisual(Application.Current.RootVisual)我可以得到控件A的实际位置,但是我无法弄清楚如何在这个上绑定到B的Canvas.Left和Canvas.Top。
有没有人想出如何完成这项任务?或者让我指出正确的方向?
答案 0 :(得分:1)
我假设您通过更新其Canvas.Left和Canvas.Right属性来移动控件A的位置?如果是这种情况,您不需要使用TransformToVisual,您可以绑定他们的Canvas Top&左边的属性:
<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.