我正在尝试构建一个 DataGrid 布局,其中第一列的名称将被动态更改。我该如何在 DataGridTextColumn 的 Header 属性中进行更改?我见过一些例子,而不是将 Header 属性连接到 StaticResource,但 StaticResource 是一个固定值,这对我不起作用,一旦我需要几个值。例子:
请记住,这是我需要更改的几个示例之一。谢谢。
我正在尝试构建一个 DataGrid 布局,其中第一列的名称将被动态更改。我该如何在 DataGridTextColumn 的 Header 属性中进行更改?我见过一些例子,而不是将 Header 属性连接到 StaticResource,但 StaticResource 是一个固定值,这对我不起作用,一旦我需要几个值。例子:
请记住,这是我需要更改的几个示例之一。谢谢。
这可以通过数据绑定轻松完成。
在窗口的代码隐藏中创建一个属性来保存字符串值;我将调用我的 TextProp。对于本示例,我将假设您的窗口的元素名称是“Window”。在 DataGridTextColumn 标记中,将 Header 特性数据绑定到该属性。
<DataGridTextColumn Header="{Binding TextProp, ElementName=Window}"/>
执行与上述相同的操作,除了将属性放在数据网格绑定到的视图模型上。将 XAML 更改为:
<DataGridTextColumn Header="{Binding TextProp}"/>
然后您所要做的就是以您选择的任何方式更改该属性值。要在属性更改时更新值,您需要实现INotifyPropertyChanged(检查该帖子的底部)。