19

当页面的数据上下文用于其他绑定时,如何绑定到 WPF 依赖属性?(简单问题)

4

2 回答 2

34

需要设置元素的数据上下文。

XAML:

<Window x:Class="WpfDependencyPropertyTest.Window1" x:Name="mywindow">
   <StackPanel>
      <Label Content="{Binding Path=Test, ElementName=mywindow}" />
   </StackPanel>
</Window>

C#:

public static readonly DependencyProperty TestProperty =
        DependencyProperty.Register("Test",
                                    typeof(string),
                                    typeof(Window1),
                                    new FrameworkPropertyMetadata("Test"));
public string Test
{
   get { return (string)this.GetValue(Window1.TestProperty); }
   set { this.SetValue(Window1.TestProperty, value); }
}

另请参阅此相关问题:

WPF 依赖属性

于 2009-04-21T17:38:19.837 回答
11

在 XAML 中:

Something="{Binding SomethingElse, ElementName=SomeElement}"

在代码中:

BindingOperations.SetBinding(obj, SomeClass.SomethingProperty, new Binding {
  Path = new PropertyPath(SomeElementType.SomethingElseProperty),  /* the UI property */
  Source = SomeElement /* the UI object */
});

尽管通常您会以相反的方式执行此操作,并将 UI 属性绑定到自定义依赖项属性。

于 2009-04-21T09:47:19.687 回答