[英]Silverlight datagrid header binding to constant
假设我的代码后面有一堆局部常量,想用作标题,例如:
const string TYPE_HEADER = "Type";
const string LOCATION_ HEADER = "Location";
等等
有什么方法可以将DataGridColumns的标题绑定到这些绑定到本地方法的事件,例如:
<data:DataGridTextColumn Header="{Binding TYPE_HEADER}" />
能做到吗? 也许通过使用一些动态的ResourceDictionary之类的东西?
TYPE_HEADER必须是字符串属性(可以由const支持)。 制作一个容器:
public class MyStaticDataProvider
{
public string TYPE_HEADER { get { return "blkajsd"; } }
}
在用户控件的声明下方:
<UserControl.Resources>
<ResourceDictionary>
<MyNamespace:MyStaticDataProvider x:Key="NameProvider" />
</ResourceDictionary>
</UserContro.Resources>
为您的标题:
Header="{Binding Path=TYPE_HEADER, Source={StaticResource NameProvider}, Mode=OneTime}"
如果Silverlight支持x:Static会更容易,但是不支持。 请参见Silverlight 4等效于WPF“ x:static”
似乎如果不编辑DataGridTextColumn的控件模板就无法完成此操作,因为Header不是FrameworkElement ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.