【发布时间】:2011-11-14 10:47:01
【问题描述】:
我很困惑如何简单地右对齐 GridView 中的某些列,而无需为每一列编写大量标记。
我不能使用静态CellTemplate,因为同时设置DisplayMemberBinding 时单元格模板会被忽略(请参阅remarks in MSDN)。如果没有DisplayMemberBinding,我将回到每列一个自定义单元格模板,因为绑定不同,这就是我想要避免的。
所以样式会很棒,就像我们可以用于标题一样:
<GridViewColumn DisplayMemberBinding="{Binding Bla}" HeaderContainerStyle="{StaticResource RightAlignStyle}" />
但是,我找不到为单元格项目设置样式的属性。
可能我错过了树林中的森林......
【问题讨论】:
-
嗨,您使用的是什么类型的列 - 只是 DataGridTextBoxColumns?
-
这里有一个类似的,不知道是否有帮助:stackoverflow.com/questions/3652318/datagrid-text-alignment
-
@Dmitry,在这种情况下,它是只读的,所以我使用
TextBlock。非常简单,这就是为什么我要避免为许多列自定义CellTemplates。 -
关于您提到的其他 SO 问题:看起来这个解决方案不允许我设置对齐 per column,仅适用于整个网格。另一方面,我只是触及了 WPF 可能实现的表面,所以也许我忽略了一些明显的东西。不过非常感谢!
-
WPF
ListView没有cell的概念。我建议为此使用更好的 UI 控件,即DataGrid。
标签: wpf gridview .net-4.0 styles wpf-4.0