Wpf DataGridTemplateColumn在HeaderStyle中使用ContentPresenter
我在XAMLWpf DataGridTemplateColumn在HeaderStyle中使用ContentPresenter,wpf,xaml,datagrid,datagridtemplatecolumn,contentpresenter,Wpf,Xaml,Datagrid,Datagridtemplatecolumn,Contentpresenter,我在XAMLDataGrid中使用了两个DataGridTemplateColumns,其中每一个都是一组文本框,因为我需要列的分组标题布局(例如,在excel中合并列作为标题) 所有这些都很好,因为我使用列的HeaderStyle属性为样式加载一个StaticResource,它定义了一个网格布局并实现了分组的标题 问题是,DataGridTemplateColumn的标题属性需要绑定到模型成员(或StaticResource?),因为它将包含一个字符串值,该字符串值将在ContentPres
DataGrid
中使用了两个DataGridTemplateColumn
s,其中每一个都是一组文本框,因为我需要列的分组标题布局(例如,在excel中合并列作为标题)
所有这些都很好,因为我使用列的HeaderStyle
属性为样式
加载一个StaticResource
,它定义了一个网格
布局并实现了分组的标题
问题是,DataGridTemplateColumn
的标题
属性需要绑定到模型成员(或StaticResource?),因为它将包含一个字符串值,该字符串值将在ContentPresenter
中使用,后者是标题样式
的一部分。Style
资源中的ContentPresenter
定义如下:
<ContentPresenter Grid.Row="2" Content="{TemplateBinding Content}"
VerticalAlignment="Center" HorizontalAlignment="Center"
Grid.ColumnSpan="11">
但这不起作用。它仅在Header=“SomeString
时有效,但只要我将其更改为
Header=“{Binding Something}”
或Header=“{StaticResource SomeResource}”
它只显示一个空白的头
我在这里遗漏了什么吗?删除内容=“{TemplateBinding Content}”,因为这是不正确的。ContentPresenter将隐式使用提供给它的内容作为模板的一部分,虽然这并不能解决问题。确切地说,
DataGridTemplateColumn
定义如下