WPF DataGrid 列标题 居中

林夕合鸟 2015-05-08 09:55:11
网上找了很多资料,一直不能很好的解决 列标题居中问题。
如果直接在ColumnHeaderStyle中设置HorizontalAlignment等于Center
虽然表面上已经居中,但是有问题:如图:


如果通过DataTemplate
设置HorizontalAlignment没有用。
通过Margin倒是有用,但是如果大小改变就又麻烦了。

请教诸位怎么破?

谢谢啦。
...全文
3254 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwbob 2016-06-22
  • 打赏
  • 举报
回复
1楼的方法就可以解决了呀 !!
sun1117 2016-05-04
  • 打赏
  • 举报
回复
林夕合鸟 2015-05-08
  • 打赏
  • 举报
回复
有点傻了, 现在用了另一个方法解决。记录下来。 在模板的TextBox中添加事件LostFocus 或者 KeyDown (Sender as TextBox).Text可以取得修改后的值。 如果大家有更好的方法。请留言。 明天结贴。 谢谢楼上两位。
林夕合鸟 2015-05-08
  • 打赏
  • 举报
回复
谢谢:两位的解答。 列标题居中的可以这样解决的。 另外想请教下: private void dgMain_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) 我在这个事件中做保存操作。通过 (e.EditingElement as TextBox).Text 可以得到更改后的值。 但是如果我现在Xmal中不使用 DataGridTextColumn 而是使用:DataGridTemplateColumn 具体如下:
<DataGridTemplateColumn Header="+0" Width="*">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Background="AliceBlue" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextAlignment="Center" Text="{Binding Value_0}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                    <DataGridTemplateColumn.CellEditingTemplate>
                        <DataTemplate>
                            <TextBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextAlignment="Center" Text="{Binding Value_0, UpdateSourceTrigger=LostFocus}"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellEditingTemplate>
                </DataGridTemplateColumn>
此时如果继续使用前面的方式取Text的值,肯定是错啦。 请问现在应该如何取得Text? 谢谢。
  • 打赏
  • 举报
回复
不会呀。你使用 DataTemplate 里面嵌套一个grid 设置HorizontalAlignment="Stretch" 里面在放个TextBlock 也设置HorizontalAlignment
Forty2 2015-05-08
  • 打赏
  • 举报
回复
试试在ColumnHeaderStyle中设置HorizontalContentAlignment等于Center

8,756

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧