2010-08-13 62 views
0

我有一个相当简单的问题,但我无法得到我的头... 我有一个继承自UserControl的类。它具有类型ColorAxisColor DependencyProperty。在类的XAML结构中,我有<ms3DTools:ScreenSpaceLines3D Thickness="2" Points="0,0,0 100,0,0" Color="{Binding Mode=OneWay, Path=AxisColor}"。 绑定不起作用。 我在做什么错?简单的绑定问题

+1

你正确设置你的数据上下文吗? – jsmith 2010-08-13 15:59:52

+0

我该怎么做? – licensedlice 2010-08-13 16:01:12

回答

0

如果您有一个UserControl需要从类中获取Property AxisColor,则需要将该UserControl的DataContext设置为包含AxisColor的类。

myUserControl.DataContext = myClassInstance; 

否则,您的用户控件不知道从哪里抓取属性。

+0

谢谢,这工作... 还有一个问题:在XAML中是否有这样的等价物? – licensedlice 2010-08-13 16:38:37

+0

我想我很困惑。我以为你说'AxisColor'属性是在UserControl类本身上定义的。你只是做'myUserControl.DataContext = myUserControl;'? – 2010-08-13 16:47:34

+0

或更简单:MyUserControl.DataContext = this; ? – 2010-08-13 16:48:13

0

您可能想要将RelativeSource={RelativeSource Self}添加到绑定表达式中。否则,您将绑定到DataContext属性。

+0

只是试了一下,但它不工作... – licensedlice 2010-08-13 16:07:44

0

如果你想要UI绑定,那么你必须指定ElementName,更多选项here。如果你想要数据绑定,那么确保你有正确的DataContext设置。