在我的 xaml 中,我修改了每个列标题以包含一个按钮。对于命令参数,我想使用列的数据字段名称,而不是标题内容。例如。我想要“JOB_TITLE”,而不是标题内容的“职位名称”。
对于标题内容我会使用:
<Button Command="{Binding DataContext.OpenFilterCommand, RelativeSource={RelativeSource AncestorType=UserControl}}" CommandParameter="{TemplateBinding Content}">
如何获取实际的字段名称?
如果我认为你想要的话绑定列所绑定的绑定属性名称,以作为命令参数传递给 OpenFilterCommand.
假设您的 DataGrid 的列如下所示:
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding NAME}"/>
<DataGridTextColumn Binding="{Binding JOB_TITLE}" />
</DataGrid.Columns>
并想要传递属性名称JOB_TITLE
作为命令参数。这可以这样实现:
<Button Command="{Binding DataContext.OpenFilterCommand,
RelativeSource={RelativeSource AncestorType=UserControl}}"
CommandParameter="{Binding Column.Binding.Path.Path,
RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
解释
模板化父级 (数据网格列标题) --> 列 (数据网格文本列)
--> 绑定 (绑定库) --> 路径 (属性路径) --> 路径 (实际财产名称)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)