DisplayMemberPath Behavior
本文关键字:Behavior DisplayMemberPath | 更新日期: 2023-09-27 18:29:12
我在想是否有人能向我解释依赖属性DisplayMemberPath是如何工作的?我正在尝试创建具有类似组合框的DisplayMemberPath属性的自定义ItemsControl,换句话说,在设置ItemsSource之后,我希望能够指定要显示的属性
此刻,如果我做了一些事情,比如:
<cc:MyControl ... DisplayMemberPath="MyObjectDescription" ... >
(是的,我已经覆盖了DisplayMemberPath,它位于点之外)。
它显示一个项目列表,但每个项目都显示"MyObjectDescription",而不是该属性为ItemsSource中的每个对象保留的值。我相信这是因为我错过了DisplayMemberPath属性如何工作的一些东西
谢谢大家。:)
我假设您的控件类似于MyControl
和MyControlItem
,类似于ListBox和ListBoxItem。您可以在创建MyControlItem
时访问MyControl的DisplayMemberPath,并使用它从DataContext获取数据。
派对迟到了一点,但可能会帮助其他人
如果您的目的只是在ListBox/View上使用项目控制,您可以考虑为项目控制的项目定义数据模板,而不是将其打包在Usercontrol:中
<ItemsControl ItemsSource="{Binding myObjectCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding myObjectProp}"/> (or whatever...)
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>