0

初めての Windows アプリ (WPF/.NET 4 を使用) をオフィスの Citrix 環境にデプロイしました。ただし、実行すると、ウィンドウ内の DataGrids は、Windows 7 開発環境 (またはテストした Windows デスクトップ環境) よりもはるかに広いため、DataGrid の右側が非表示になり、どこにスクロール バーを表示する必要があります。以前はありませんでした。これは Citrix の「問題」ですか? この違いを説明するために、Windows を間違ってレイアウトしていますか? 不足している Windows .NET 更新プログラムは? ここで何か提案をありがとう。

(Citrix 環境: Server 2008 R2 で XenApp 6.5 を実行)

ここに私のウィンドウ XAML があります:

<Window x:Class="TableMaint.ItemClassExtrasEdit"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:TableMaint"
        Title="Edit Item Class Extra Fields" Height="600" Width="331" MinWidth="100" MinHeight="300"  WindowStartupLocation="CenterOwner">
    <DockPanel LastChildFill="True">
        <Grid Height="59" DockPanel.Dock="Bottom">
            <Button Content="Save" Height="23" Name="OKButton" Width="75" Margin="0,0,6,18" VerticalAlignment="Bottom" HorizontalAlignment="Right" 
                    IsDefault="True" Click="OKButton_Click" />
            <Button Content="Cancel" Height="23" HorizontalAlignment="Right" Margin="0,0,101,18" Name="CancelButton" VerticalAlignment="Bottom" Width="75" 
                    IsCancel="True" />
        </Grid>
        <DataGrid Name="ExtrasGrid" ItemsSource="{Binding}" CanUserReorderColumns="False"  CanUserDeleteRows="False" CanUserAddRows="False"
                  AutoGenerateColumns="False" RowHeaderWidth="20" CanUserResizeRows="False" CanUserSortColumns="False">
            <DataGrid.Resources>
                <local:NullCheckBoxConverter x:Key="nullCheckBoxConverter"/>
            </DataGrid.Resources>
            <DataGrid.Columns>
                <DataGridTextColumn Header="    Item Class ID    " Binding="{Binding ItemClassID}" >
                    <DataGridTextColumn.CellStyle>
                        <Style TargetType="{x:Type DataGridCell}">
                            <Setter Property="ToolTipService.ToolTip" Value="{Binding ItemClassName}" />
                        </Style>
                    </DataGridTextColumn.CellStyle>
                </DataGridTextColumn>
                <DataGridCheckBoxColumn Header="Foo1" Binding="{Binding Foo1, Converter={StaticResource nullCheckBoxConverter}}" />
                <DataGridCheckBoxColumn Header="Foo2" Binding="{Binding Foo2, Converter={StaticResource nullCheckBoxConverter}}" />
                <DataGridCheckBoxColumn Header="Foo3" Binding="{Binding Foo3, Converter={StaticResource nullCheckBoxConverter}}" />
                <DataGridCheckBoxColumn Header="Foo4" Binding="{Binding Foo4, Converter={StaticResource nullCheckBoxConverter}}" />
            </DataGrid.Columns>
        </DataGrid>
    </DockPanel>
</Window>
4

1 に答える 1

0

少しテストを行ったところ、Citrix で実行すると、列が少し広くなりました。同じマシン上で RDP を介して実行する場合よりも、Citrix セッションを介して実行する場合の方が、さらに幅が広くなりました。Citrix で実行すると、データ グリッド ヘッダーで使用されるフォントが何らかの理由で大きくなっているようです。

これは、通常、次の方法でユーザーとして構成する種類のものです: Personalize - Windows Color and Appearance. Citrix セッションでなぜ違うのかはわかりません。私自身、これまでに実際に気づいたことはありませんでした。このわずかな違いを自分で回避しようとします。Citrix フォーラムで質問できます。XenApp 6.5 フォーラムは次の場所にあります。

http://forums.citrix.com/category.jspa?categoryID=289

GPO を介してウィンドウ設定をロックダウンすることで、XenApp サーバーが行っていることをオーバーライドできる可能性があります。

于 2013-04-29T03:28:32.857 に答える