我正在尝试创建一个 ItemsControl,它负责显示按元数据排序的各种项目。每个项目可以有多个元数据。例如,“对话”类型的项目可能具有“章节”、“事件”和“卷”元数据。
在搜索分组在 WPF 中的工作原理时,我发现了 GroupStyles 和 PropertyGroupDescription 类。
我创建了自己的类,它继承自 PropertyGroupDescription 并返回“元数据”类型的对象。
无论如何,在我的 ItemsControl 的 GroupStyle DataTemplate 中,我是否可以绑定(bind)到返回的对象(即:“元数据”对象),然后按我的意愿显示其属性?还是我被迫绑定(bind)到“名称”?
换句话说:
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
Am I forced to bind to "Name" here ?
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ItemsControl.GroupStyle>
最佳答案
默认情况下,GroupStyle
中的 DataContext
您可以绑定(bind)到此 CollectionViewGroup Properties .但当然你可以设置任何其他 BindingSource
如果你需要的话。
如果您想要组中的第一个对象,请使用:
<TextBlock Text="{Binding Path=Items[0].YourStringProperty}" />
关于c# - WPF - 组样式 : Can we only bind to the "Name" property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233205/