c# - WPF - 组样式 : Can we only bind to the "Name" property?

标签 c# .net wpf .net-4.0

我正在尝试创建一个 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/

相关文章:

c# - 重载 "base"构造函数或 "this"构造函数?

.Net 编程语言

c# - 调用 WebRequest 以调用 Web 服务的非常简单的调用就是每次以某种方式进行两次调用,一个没有凭据,一个有?

wpf - 容器用户控件中的数据绑定(bind)

wpf - 如何获取 WPF 弹出窗口的实际宽度

c# - 启用和禁用文本框的不同上下文菜单

c# - Xamarin.Forms.Xaml.XamlParseException : MarkupExtension not found for trans:Translate using a PCL in Release Mode

C# 无法从 Azure Key Vault 检索 secret

c# - C# 中的 C++ 库 - 继承类

c# - 支持aspx页面中的OPTIONS请求头