【问题标题】:simple binding problem简单绑定问题
【发布时间】:2010-08-13 15:58:27
【问题描述】:

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

【问题讨论】:

  • 您是否正确设置了数据上下文?

标签: c# .net wpf binding


【解决方案1】:

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

myUserControl.DataContext = myClassInstance;

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

【讨论】:

  • 谢谢,这行得通...还有一个问题:XAML 中是否有对应的方法?
  • 我想我很困惑。我以为您说“AxisColor”属性是在 UserControl 类本身上定义的。你刚刚做了'myUserControl.DataContext = myUserControl;'吗?
  • 或更简单地说:MyUserControl.DataContext = this; ?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多