这是一个示例xaml -
如何让上下文菜单的子菜单看起来与主父上下文菜单(包括阴影)相同?
感谢。
<Window x:Class="dummy.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:dummy"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Button Content="Click for ContextMenu" Width="166" HorizontalAlignment="Center" VerticalAlignment="Center" Height="100">
<Button.ContextMenu>
<ContextMenu x:Name="Test" HasDropShadow="True">
<MenuItem Header="File"/>
<MenuItem Header="View"/>
<MenuItem Header="Recent Files">
<MenuItem Header="file1.txt"/>
<MenuItem Header="file2.txt"/>
</MenuItem>
<MenuItem Header="Edit"/>
</ContextMenu>
</Button.ContextMenu>
</Button>
</Grid>
答案 0 :(得分:0)
答案 1 :(得分:0)
这实际上是Windows 10上的默认行为(或外观)。
如果您添加对PresentationFramework.Aero.dll
的引用(Project-&gt; Add Reference-&gt; Assemblies-&gt; Framework in Visual Studio),您可以将Aero Windows 7样式应用于此ContextMenu
:
<Button Content="Click for ContextMenu" Width="166" HorizontalAlignment="Center" VerticalAlignment="Center" Height="100">
<Button.ContextMenu>
<ContextMenu x:Name="Test" HasDropShadow="True">
<ContextMenu.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</ContextMenu.Resources>
<MenuItem Header="File"/>
<MenuItem Header="View"/>
<MenuItem Header="Recent Files">
<MenuItem Header="file1.txt"/>
<MenuItem Header="file2.txt"/>
</MenuItem>
<MenuItem Header="Edit"/>
</ContextMenu>
</Button.ContextMenu>
</Button>