是否可以在Silverlight中将DataGrid的列标题文本绑定到资源字符串?

时间:2009-01-07 12:08:13

标签: silverlight xaml

我需要将DataGrid的列Header文本绑定到XAML文件中的Resource字符串。有人知道这是否可行?

列标题定义如下所示,但我想用资源文件中的文本替换“MyHeaderText”: -

<data:DataGridTextColumn Header="MyHeaderText" Binding="{Binding SomeData}" IsReadOnly="True"/>

资源字符串将在UserControl.Resources部分中设置。

3 个答案:

答案 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属性。