Citrix вызывает проблемы с размером WPF?

Я только что развернул свое первое приложение для Windows (с использованием WPF / .NET 4) в нашей среде Citrix здесь, в офисе. Однако, когда он запущен, DataGrid внутри окон намного шире, чем в моем окружении Windows 7 dev (или любом другом окружении рабочего стола Windows, которое я тестировал), поэтому правая сторона DataGrid скрывается, требуя, чтобы полоса прокрутки появлялась там, где раньше не было. Это «проблема» Citrix? Я неправильно выкладываю Windows, чтобы учесть эту разницу? Какие обновления Windows .NET отсутствуют? Спасибо за любые предложения здесь.

(Citrix Env: запуск XenApp 6.5 на сервере 2008 R2)

Вот мой Window 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>

person Conrad    schedule 26.04.2013    source источник
comment
Am I laying out my Windows incorrectly to account for this difference? - Невозможно узнать, не увидев соответствующего XAML.   -  person Federico Berasategui    schedule 26.04.2013
comment
@HighCore - я добавил XAML для окна.   -  person Conrad    schedule 26.04.2013


Ответы (1)


Я провел небольшое тестирование и получил немного более широкие столбцы при работе под Citrix. Работа через сеанс Citrix была даже немного шире, чем при работе через RDP на той же машине. Похоже, что шрифт, используемый в заголовках сетки данных, по какой-то причине больше при работе под Citrix.

Это то, что вы обычно настраиваете как пользователь с помощью: Персонализация - Цвет и внешний вид Windows. Я не знаю, почему это по-другому в сеансах Citrix, я никогда раньше не замечал этого. Я бы просто попытался сам обойти эту небольшую разницу. Вы можете спросить на форумах Citrix, форум XenApp 6.5 находится здесь:

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

Возможно, удастся переопределить все, что делает сервер XenApp, заблокировав настройки окна с помощью GPO.

person donovan    schedule 29.04.2013
comment
Я проверю на этом форуме - спасибо. Также рад слышать, что это не только я! - person Conrad; 29.04.2013