<Button x:Name="menu" HorizontalAlignment="Right" Height="24" VerticalAlignment="Top" Width="40" Margin="0,1,79.8,0" Click="menu_Click" Content="Hello"/>
<Popup x:Name="menuPop1" StaysOpen="False" Margin="0" PlacementTarget="{Binding ElementName=menu}" AllowsTransparency="True">
<StackPanel Margin="0">
<Button Content="设置" Click="menu1_Click" Width="40"/>
<Button Content="关于" Click="menu2_Click" Width="40"/>
<Button Content="退出" Click="menu3_Click" Width="40" />
</StackPanel>
</Popup>
后台代码
private void menu_Click(object sender, RoutedEventArgs e)
{
menuPop1.IsOpen = true;
}
private void menu1_Click(object sender, RoutedEventArgs e)
{
menuPop1.IsOpen = true;
}
private void menu2_Click(object sender, RoutedEventArgs e)
{
menuPop1.IsOpen = true;
}
private void menu3_Click(object sender, RoutedEventArgs e)
{
menuPop1.IsOpen = true;
}
效果
使能处理
private void menu_Click(object sender, RoutedEventArgs e)
{
menuPop1.IsOpen = true;
menu.IsEnabled = false;
}
private void MainWindow_OnLostMouseCapture(object sender, MouseEventArgs e)
{
menu.IsEnabled = true;
}
xaml中添加
LostMouseCapture="MainWindow_OnLostMouseCapture"