2017-09-11 35 views
0

我正在创建一个WPFC#.Net应用程序Aero应该运行在Win7以及Win10上。为什么我的应用程序忽略Windows 7上的某些xaml代码?

在Win10上一切正常,但在Win7上,GUI看起来大不相同。 特别是,我的MenuItems似乎忽略了某些设置,例如VerticalContentAlignmentBorderThickness

照片管理: Win7 VS Win10

我该如何解决这个问题?

(一些代码:)

xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" 

<MenuItem Header="Intranet" 
      Grid.Column="2" 
      x:Name="Menu_Intranet" 
      ToolTip="Intranet" 
      BorderBrush="white" 
      BorderThickness="5" 
      VerticalAlignment="Stretch" 
      Click="Menu_1_Click" 
      ToolTipService.ShowOnDisabled="true" 
      VerticalContentAlignment="Center"/> 

提前感谢!

+0

尝试使用[Snoop](https://github.com/cplotts/snoopwpf)比较可视化树 - 您可能也想查看MenuItem的容器属性。 –

+0

@AlexSeleznyov我无法下载Snoop,因为它没有通过我公司的病毒扫描程序。 :/ 我也尝试编辑默认的'ItemContainerStyle'的副本,并添加了'Style =“{StaticResource myMenuItemStyle}”'我的'MenuItem's之一,但这并没有做太多,虽然我很可能忽略了某些东西。 Code在这里太长,会更新OP。 –

+0

直到你能够看到视觉树,你可能正在修复什么没有损坏。 VS2015/17内置Visual Tree查看器,但我不喜欢它,并始终关闭。您可能想尝试一下。 –

回答

0

我编辑了MenuItemControlTemplate(在设计器 - >编辑模板中右键单击要编辑的控件),并通过Template="{DynamicResource MyMenuItemControlTemplate}"将其应用于MenuItems

我想这不会让OS/Theme应用自己的设置。

相关问题