我有一个WPF UserControl。在cs部分中,我有一个System.Windows.Data类型的属性。绑定称为 ElementBinding 。 这是xaml文件的样子:
<ItemsControl ItemsSource="{Binding ElementName=ControlRoot, Path=FilteredSource}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=ElementBinding, ElementName=ControlRoot}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
这不会按预期工作,因为它(非常合乎逻辑地)显示Binding属性的 ToString()方法。 我想要做的是将 UserControl 的绑定属性应用到 TextBlock 的文本属性,使用TextBlock DataContext 。
我知道我可以随时将 Binding 属性更改为字符串属性,并使用转换器和反射来访问路径,但我更喜欢使用如果可能,绑定属性。我想这是因为它已被用于,例如,在DataGridColumn中。