WPF 工具包。 将 DataGrid 列标题绑定到 DynamicResource
我正在尝试使用以下代码将 DataColumn 标题绑定到 DynamicResource。
<Window.Resources>
<sys:String x:Key="HeaderText">Header Text</sys:String>
</Window.Resources>
<Grid>
<tk:DataGrid>
<tk:DataGrid.Columns>
<tk:DataGridTextColumn Header="{DynamicResource HeaderText}" Width="100"/>
</tk:DataGrid.Columns>
</tk:DataGrid>
</Grid>
但由于某种奇怪的原因,列标题仍然为空。 然而 StaticResource 效果很好。 您能否帮我弄清楚如何将该 Header 属性绑定到某些 DynamicResource。
I'm trying to bind DataColumn Header to DynamicResource using following code.
<Window.Resources>
<sys:String x:Key="HeaderText">Header Text</sys:String>
</Window.Resources>
<Grid>
<tk:DataGrid>
<tk:DataGrid.Columns>
<tk:DataGridTextColumn Header="{DynamicResource HeaderText}" Width="100"/>
</tk:DataGrid.Columns>
</tk:DataGrid>
</Grid>
But for some strange reason column header remains empty. StaticResource however works well.
Could you please help me to figure out how to bind that Header property to some DynamicResource.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
试试这个:
WPF Toolkit 的 DataGrid 有 DataGridColumns,它们不是可视化控件,因此它们有一些有趣的规则。 这些有趣的规则之一是只有 Binding 属性可以是 Binding - 其他所有内容都必须是静态的。 为了避免这种情况,您可以创建包含动态内容的静态样式资源。
Try this:
WPF Toolkit's DataGrid has DataGridColumns which are not Visual controls, so they have some funny rules. One of those funny rules is that only the Binding property can be a Binding - everything else must be static. To circumvent this, you can create a Static Style Resource which contains Dynamic Content.
这对我来说适用于使用字典的国际化
this works for me with internationalization using dictionaries
如果您只想更改标题并且不想打扰样式,请执行此操作。 (出自上面的海报)
If you just want to change the Header and dont' want to bother with styles, do this. (credit goes to above poster)
尝试这个...
Try this...