3

谁能帮我...

1)

问题 -->

| 姓名__ |地址_ _ |__ _ __ _ __ _ __ _ ____ <---DataGrid 标题 |--------------------------------- --------------------------------- <--行 |------------ -------------------------------------------------- ----- |-------------------------------------------- ----------------------

行被削减。

2)

想要这个->

| 姓名__| __地址__ _ _ |__ _ __ _ __ _ __ _ ___<---数据网格标题 |_ABC_ _ | XYZ __ _ __ _ __| _ __ _ __ _ __ _ __ _ __

| _啊杰__| XZS_ _ __ _ __ _ |__ _ __ _ __ _ __ _ ____

| _阿尔克__| XYF_ _ __ _ __ _ |__ _ __ _ __ _ __ _ ____ 可以查看行详细信息。

我遇到了一些问题,有些行在 windows xp 中无法正确显示,这个程序是在 Win 8、WPF .net 框架 4.0、3.5、4.5 中构建的。他们都有同样的问题。

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

WPF DataGrid,已自动生成column = 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 中。

谢谢。

4

1 回答 1

0

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

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

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

于 2013-09-04T13:15:04.970 回答