2009-10-19 112 views
2

在SO上看到了一些问题,但没有回答我的问题。绑定到Silverlight中实际的UserControl?

我想完成的事情: 我有一个自定义控件(让我们称之为A),它使用故事板围绕画布移动。我想将另一个自定义控件的画布(让它称为B)位置绑定到第一个控件上。

使用TransformToVisual(Application.Current.RootVisual)我可以得到控件A的实际位置,但我无法弄清楚如何获得绑定到B的Canvas.Left和Canvas.Top。

有没有人想出了如何完成这项任务?或者让我指出正确的方向?

+0

是控制A和/或B定制控件或标准控件? – AnthonyWJones 2009-10-19 21:49:27

+0

在这种情况下,控件A和B都是自定义控件。 – 2009-10-20 11:15:00

回答

1

我认为你通过更新Canvas.Left和Canvas.Right属性来移动控件A的位置?如果是这种情况,你不需要使用TransformToVisual,你可以绑定自己的帆布顶&左性能在一起:

<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.

+0

不,就像我在问题中提到的那样,控件A使用故事板移动 – 2010-12-16 13:12:04

+0

当然..但故事板必须修改控件的某些属性才能移动它?在我上面的例子中,ut无关紧要地改变了ControlA的属性,XAML值,代码值,绑定或故事板 - ControlB总是随之而来。 – ColinE 2010-12-16 14:12:26

+0

绑定是我尝试的第一件事,它不起作用 – 2010-12-21 11:12:43

相关问题