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