Среда
- ОС: Windows10
- Время выполнения:. NET Framework 4.5
- Проект: приложение WPF
Исходный код
<Window
x:Class="MenuItemTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="200" Width="200">
<Menu IsMainMenu="False">
<MenuItem Header="MenuItem">
<MenuItem.Template>
<ControlTemplate TargetType="MenuItem">
<Grid>
<Popup
x:Name="PART_Popup"
StaysOpen="True" AllowsTransparency="True" PopupAnimation="Fade"
IsOpen="{Binding IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}">
<Border Margin="20" Background="White">
<Border.Effect>
<DropShadowEffect BlurRadius="20" Color="Black" Direction="0" ShadowDepth="0"/>
</Border.Effect>
<StackPanel IsItemsHost="True"/>
</Border>
</Popup>
<Border Padding="10" Background="White" BorderBrush="Blue" BorderThickness="2">
<ContentPresenter ContentSource="Header"/>
</Border>
</Grid>
</ControlTemplate>
</MenuItem.Template>
<MenuItem Header="MenuItem1"/>
<MenuItem Header="MenuItem2"/>
<MenuItem Header="MenuItem3"/>
</MenuItem>
</Menu>
</Window>
Процедура
- Нажмите «MenuItem»
- Откроется меню.
- Нажмите «MenuItem», перекрывающийся с тенью .
Ожидаемый результат
Меню всегда закрывается.
Фактический результат
Меню может не закрыться.
Вопрос
Как я могу игнорировать эффекты теней?