wpf - 数据网格文本对齐

标签 wpf datagrid c#-4.0 wpftoolkit

我想知道是否有人有一种简单的方法可以使 WPF 数据网格中的文本居中对齐。我让数据网格工作得很好,但正确的文本对齐让我很困扰。我检查了一些,并下载了 wpftoolkit,但示例要么不起作用,要么给我一个编译错误。我确实将 wpftoolkit 的引用添加到了我的项目中。任何帮助,将不胜感激。谢谢

数据网格的xaml如下

<WpfToolkit:DataGrid AutoGenerateColumns="True" Margin="15,15,10,65" Name="DG1" CanUserReorderColumns="False" />

最佳答案

如果您设置了 Block.TextAlignment属性在 DataGrid 上居中,它将被 DataGridTextColumns 中使用的 TextBlocks 和 TextBoxes 继承,并将文本居中:

<WpfToolkit:DataGrid
    Block.TextAlignment="Center"
    AutoGenerateColumns="True"
    Margin="15,15,10,65"
    Name="DG1"
    CanUserReorderColumns="False" />

如果要对齐单元格中的文本而不是标题或网格中的其他地方,则可以使用 CellStyle 设置 DataGridCell 上的属性:
<WpfToolkit:DataGrid
    AutoGenerateColumns="True"
    Margin="15,15,10,65"
    Name="DG1"
    CanUserReorderColumns="False">
    <WpfToolkit:DataGrid.CellStyle>
        <Style TargetType="WpfToolkit:DataGridCell">
            <Setter Property="Block.TextAlignment" Value="Center"/>
        </Style>
    </WpfToolkit:DataGrid.CellStyle>

关于wpf - 数据网格文本对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3652318/

相关文章:

wpf - MVVM、线程和图像源 DataBinidng

c# - 在 System.Windows.UIElement 中包装来自 System.Windows.Forms 的控件

wpf - WPF Datagrid 中的排序和过滤选项?

c#-4.0 - 以编程方式使用 ObjectDataSource 将 ASPxGridView 添加到页面

multithreading - 如何在没有主线程等待的情况下从长时间运行的后台任务引发异常

c# - 用户控件中的 VisualStateManager

c# - 将以编程方式生成的 DataGridTextColumn 的 Visibility 属性绑定(bind)到复选框

c# - wpf 数据网格 header 中的访问复选框

c# - 如何在 WPF 数据网格中为每列添加一个 ContextMenu

java - 构造函数调用自身