【问题标题】:DataGridTemplateColumn using ContentPresenter in HeaderStyleDataGridTemplateColumn 在 HeaderStyle 中使用 ContentPresenter
【发布时间】:2013-04-15 14:12:41
【问题描述】:

我在我的 XAML DataGrid 中使用了几个 DataGridTemplateColumns,每个都是一组文本框,因为我想要列的分组标题布局(例如,合并的列作为 excel 中的标题)。

所有这些工作正常,因为我使用列的HeaderStyle 属性为Style 加载StaticResource,它定义了Grid 布局并实现了分组标题。

问题是,DataGridTemplateColumnHeader 属性需要绑定到模型成员(或 StaticResource ?),因为它将包含将在 ContentPresenter 中使用的字符串值,它是HeaderStyle 的一部分。 Style资源中的ContentPresenter定义如下:

<ContentPresenter Grid.Row="2" Content="{TemplateBinding Content}"
VerticalAlignment="Center" HorizontalAlignment="Center"
Grid.ColumnSpan="11">

但这不起作用。它仅适用于Header="SomeString,但只要我将其更改为 Header="{Binding Something}"Header="{StaticResource SomeResource}" 它只是显示一个空白标题。

我在这里错过了什么吗?

【问题讨论】:

    标签: wpf xaml datagrid datagridtemplatecolumn contentpresenter


    【解决方案1】:

    删除 Content="{TemplateBinding Content}" 因为这是不正确的。 ContentPresenter 将隐式使用提供给它的内容作为模板的一部分

    【讨论】:

    • 我明白了,但这并不能解决问题。准确地说,DataGridTemplateColumn 定义如下&lt;toolkit:DataGridTemplateColumn Header="{Binding Something}" HeaderStyle="{StaticResource SomeHeaderStyle}" CellTemplate="{StaticResource SomeTemplate}"/&gt;
    猜你喜欢
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多