Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 已移位列的WPF DataGrid边框_C#_Wpf_Datagrid_Border - Fatal编程技术网

C# 已移位列的WPF DataGrid边框

C# 已移位列的WPF DataGrid边框,c#,wpf,datagrid,border,C#,Wpf,Datagrid,Border,我完全不知道哪个属性是垂直单元格边界移动的原因。内容正确对齐,但边框似乎认为其对齐正确 XAML定义是: <DataGrid x:Name="DG_ComparedSet" AllowDrop="True" Background="AliceBlue" HorizontalAlignment="Stretch" AutoGenerateColumns="False" PreviewDr

我完全不知道哪个属性是垂直单元格边界移动的原因。内容正确对齐,但边框似乎认为其对齐正确

XAML定义是:

<DataGrid x:Name="DG_ComparedSet" 
          AllowDrop="True"
          Background="AliceBlue"
          HorizontalAlignment="Stretch"
          AutoGenerateColumns="False" 
          PreviewDragEnter="File_DragEvent" 
          PreviewDragOver="File_DragEvent" 
          PreviewDrop="DG_ComparedSet_PreviewDrop">
    <DataGrid.ContextMenu>
        <ContextMenu>
            <MenuItem Header="Clear Comparison" Name="CXM_clearComparison" Click="CXM_clearComparison_Click" />
        </ContextMenu>
    </DataGrid.ContextMenu>
</DataGrid>

哪个属性丢失或设置不正确?

您的单元格对齐设置将中断列的渲染。在没有看到更多代码的情况下,我无法确定您的意图,但如果您希望单元格文本居中,则将内容居中,而不是单元格本身

Style cellStyle = new Style (typeof (DataGridCell));
cellStyle.Setters.Add (new Setter (DataGridCell.FontFamilyProperty, new FontFamily ("Consolas")));
//cellStyle.Setters.Add (new Setter (DataGridCell.HorizontalAlignmentProperty, HorizontalAlignment.Center));
//cellStyle.Setters.Add (new Setter (DataGridCell.VerticalAlignmentProperty, VerticalAlignment.Center));
cellStyle.Setters.Add (new Setter (TextBlock.TextAlignmentProperty, TextAlignment.Center));
cellStyle.Setters.Add (new Setter (DataGridCell.ForegroundProperty, Brushes.MediumSeaGreen));
当然,这是假设您的单元格只包含文本字符串

Style cellStyle = new Style (typeof (DataGridCell));
cellStyle.Setters.Add (new Setter (DataGridCell.FontFamilyProperty, new FontFamily ("Consolas")));
//cellStyle.Setters.Add (new Setter (DataGridCell.HorizontalAlignmentProperty, HorizontalAlignment.Center));
//cellStyle.Setters.Add (new Setter (DataGridCell.VerticalAlignmentProperty, VerticalAlignment.Center));
cellStyle.Setters.Add (new Setter (TextBlock.TextAlignmentProperty, TextAlignment.Center));
cellStyle.Setters.Add (new Setter (DataGridCell.ForegroundProperty, Brushes.MediumSeaGreen));