数据网格文本块未在左边框

时间:2015-05-12 07:27:50

标签: c# wpf xaml datagrid

这可能是一个非常愚蠢的问题,也可能是我无法找到答案的原因。

我有一个数据网格,在漫长的操作过程中我偶尔会添加一些消息,并且由于某种原因,文本块在数据网格的左边框右侧略微出现,即使没有边距也是如此textblock并且数据网格上没有填充:

enter image description here

这是我的XAML:

<DataGrid x:Name="dgrdMessages" HorizontalAlignment="Left" Margin="21,212,0,0" VerticalAlignment="Top" Height="202" Width="690">
                    <DataGrid.Columns>
                        <DataGridTemplateColumn Header="Message" Width="*">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Message}" Width="Auto" HorizontalAlignment="Left" VerticalAlignment="Top">
                                        <TextBlock.Style>
                                            <Style>
                                                <Style.Triggers>
                                                    <DataTrigger Binding="{Binding IsError}" Value="true">
                                                        <Setter Property="TextElement.Foreground" Value="Red"/>
                                                    </DataTrigger>
                                                </Style.Triggers>
                                            </Style>
                                        </TextBlock.Style>
                                    </TextBlock>
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                    </DataGrid.Columns>
                </DataGrid>

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

从你的截图中看来,TextBlock似乎并没有#34;右边的#34; (他们触摸左边界)。 你想摆脱&#34;行选择器&#34;,左边的小灰色按钮? 如果是这样,设置HeadersVisibility =&#34; Column&#34;在XAML中。

答案 1 :(得分:0)

 <DataGridTemplateColumn.CellStyle>
     <Style TargetType="DataGridCell">
         <Setter Property="HorizontalContentAlignment" Value="Left"/>
     </Style>
 </DataGridTemplateColumn.CellStyle>