ページのデータコンテキストが他のバインディングに使用されている場合、WPF依存関係プロパティにバインドするにはどうすればよいですか? (簡単な質問)
要素のデータコンテキストを設定する必要がありました。
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); }
}
この関連する質問も参照してください。
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プロパティをカスタム依存関係プロパティにバインドします。