Windows XP中的WPF DataGrid显示问题

时间:2013-08-26 14:46:55

标签: .net wpf xaml datagrid windows-xp

任何人都可以帮助我......

1)

问题 - >

| 名称 __ | 地址 _ _ | __ _ __ _ __ _ __ _ ____ < --- DataGrid标头 | ------------------------------------------------- ------------------< - 行 | ------------------------------------------------- ------------------ | ------------------------------------------------- ------------------

行被削减。

2)

想要这个 - >

| 名称 __ | __ 地址 __ _ _ | __ _ __ _ __ _ __ _ ___ < --- DataGrid标头 |的 _ABC_ _ | XYZ __ _ __ _ __ | _ __ _ __ _ __ _ __ _ __

|的 _ AHJ __ | XZS_ _ __ < EM> _ __ _ | __ _ __ _ __ _ __ _ ____

|的 _ ALK __ | XYF_ _ __ < EM> _ __ _ | __ _ __ _ __ _ __ _ ____ 可以看到行细节。

我遇到麻烦,有些行在windows xp中无法正常显示, 这个程序是在Win 8,WPF .net框架4.0,3.5,4.5中构建的。 所有人都有同样的问题。

我错过了什么吗? 如何解决这个问题。

WPF DataGrid,auto generatedcolumn = true。

这是一些代码。 XAML

      <DataGrid x:Name="dgConfirmInquiry" HorizontalAlignment="Left" Margin="48,136,0,0" VerticalAlignment="Top" Height="134" Width="718" Background="#FFF0FFE3"  AutoGeneratingColumn="dgInquiry_AutoGeneratingColumn" IsReadOnly="True" MouseDoubleClick="dgInquiry_MouseDoubleClick" SelectionChanged="dgInquiry_SelectionChanged" AutoGenerateColumns="True">
                            <DataGrid.ContextMenu>
                                <ContextMenu>
                                    <MenuItem x:Name="MenuRegister" Header="Register" Click="MenuRegister_Click" />
                                </ContextMenu>
                            </DataGrid.ContextMenu>
                        </DataGrid>

在代码后面我只是用List填充DataGrid的itemsource。 在Windows 7,8我没有这个问题。 这只发生在Windows XP中。

感谢。

1 个答案:

答案 0 :(得分:0)

这是因为您正在设置边距值以及可能的高度和宽度。 Windows XP对Windows 7/8的处理方式不同,因此以不同的方式显示它。

您应该删除这些xaml属性,并且可以使用其他方法进行定位和调整大小,例如将数据网格放入网格单元格,并通过Grid.ColumnDefinitions设置宽度,并通过Grid.RowDefinitions设置高度。然后使用垂直和水平对齐来设置边距(相对于网格单元格)。然后,您可以通过Grid.Column和Grid.Row属性将datagrid分配给边距。

如果您需要一个示例,请告诉我,我会相应地更新。