我有一个DataGrid,可以从XML文件中加载它的单元格信息。当数据加载到网格时,您可以看到单元格略微向右移动,左侧出现一个微弱的单元格。我想让它停下来。
我玩过所有布局选项。我试过去掉边框。我对Visual Studio中的Columns部分做了很多工作。
除了最右边的那个之外,所有的cels都设置为特定的宽度。该单元格设置为“自动”,仅包含在XAML中定义的按钮,而不包含XML。
<Window.Resources>
<Style TargetType="DataGridCell">
<Setter Property="TextBlock.TextAlignment" Value="Left"/>
</Style>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Left"/>
</Style>
</Window.Resources>
<DataGrid x:Name="dgActions" Margin="10,93,20,10" AlternatingRowBackground="#FFB4B4B4" RowBackground="White" IsReadOnly="True" SelectionMode="Extended"
VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Hidden" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserResizeColumns="False" UseLayoutRounding="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Element[name].Value}" Width="175"/>
<DataGridTextColumn Header="KB#" Binding="{Binding Element[knowledge].Value}" Width="50"/>
<DataGridTextColumn Header="Description" Binding="{Binding Element[description].Value}" Width="665"/>
<DataGridTemplateColumn Header="Send" Width="Auto">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="btnSendScript" Content="Send" CommandParameter="{Binding}" Click="btnSendScript_Click" FlowDirection="LeftToRight" HorizontalAlignment="Right"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Before the XML values are loaded
以下是数据加载时会发生的情况......
答案 0 :(得分:1)
剩下的空间是DataGridRowHeader
。
要删除它,请使用以下Style
。
<DataGrid ...>
<DataGrid.RowHeaderStyle>
<Style TargetType="DataGridRowHeader">
<Setter Property="Width" Value="0"/>
</Style>
</DataGrid.RowHeaderStyle>
...
</DataGrid>