我需要将DataGrid的列Header文本绑定到XAML文件中的Resource字符串。有人知道这是否可行?
列标题定义如下所示,但我想用资源文件中的文本替换“MyHeaderText”: -
<data:DataGridTextColumn Header="MyHeaderText" Binding="{Binding SomeData}" IsReadOnly="True"/>
资源字符串将在UserControl.Resources部分中设置。
答案 0 :(得分:1)
标题显示区域有限。您可以通过使用字符串而不是UIElement来实现此目的。确保你的xaml文件中有“System”命名空间的xmlns,如下所示:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
然后在UserControl的Resources部分中定义以下内容:
<sys:String x:Key="MyHeader">My Header Text</sys:String>
然后你可以基本上做什么Sorskoot说,你不应该收到错误:
<data:DataGridTextColumn Header="{StaticResource MyHeader}" Binding="{Binding SomeData}" IsReadOnly="True" />
答案 1 :(得分:0)
你有没有尝试过:
<data:DataGridTextColumn Header="{StaticResource SomeData}"
IsReadOnly="True"/>
“SomeData”是您的资源。
答案 2 :(得分:0)
注意,如果需要,您可以做的不仅仅是使用文本值,而是需要使用HeaderStyle属性而不是Header属性。