我刚刚将我的第一个Windows应用程序(使用WPF / .NET 4)部署到办公室的Citrix环境中。但是,当它运行时,Windows内的DataGrids比我的Windows 7开发环境(或我测试的任何Windows桌面环境)要宽得多,因此DataGrid的右侧会被隐藏,需要滚动条出现在哪里之前没有。这是Citrix的“问题”吗?我是否错误地布置了Windows以解释这种差异?缺少Windows .NET更新?感谢您的任何建议。
(Citrix环境:在Server 2008 R2上运行XenApp 6.5)
这是我的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>
答案 0 :(得分:0)
我做了一些测试,在Citrix下运行时,我的列数略宽。与在同一台机器上通过RDP运行相比,Citrix会话的运行速度甚至更宽。在Citrix下运行时,看起来数据网格标题中使用的字体由于某种原因会更大。
这是您通常通过以下方式配置为用户的东西:个性化 - Windows颜色和外观。我不知道为什么它在Citrix会话中有所不同,我从来没有真正注意到这一点。我只是试着自己解决这个微小的差异。你可以在Citrix论坛上四处询问,XenApp 6.5论坛就在这里:
http://forums.citrix.com/category.jspa?categoryID=289
可以通过GPO锁定窗口设置来覆盖XenApp服务器正在执行的任何操作。