C# 已移位列的WPF DataGrid边框
我完全不知道哪个属性是垂直单元格边界移动的原因。内容正确对齐,但边框似乎认为其对齐正确 XAML定义是: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
<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));