参考:https://www.cnblogs.com/seekdream/p/5579221.html
xaml
<controls:ImageButton Name="BtnShutDownMenu" HorizontalAlignment="Left" Margin="28,0,0,0" Height="40" Width="40" Command="{Binding MenuCommand}" IsEnabled="{Binding MenuIsEnable}" ToolTip="{DynamicResource StatusBar.ShutdownIndication.Tooltip}" Style="{StaticResource BtnStyleMenu}"/>
<Popup Name="PopupShutDown" Placement="Top" Margin="0" HorizontalAlignment="Left" StaysOpen="False" PopupAnimation="Scroll" AllowsTransparency="True" PlacementTarget="{Binding ElementName=BtnShutDownMenu}" IsOpen="{Binding PopupMenuIsOpen}">
<StackPanel Name="StackShutDown" Panel.ZIndex="1" Orientation="Vertical" Background="White">
<controls:ImageButton x:Name="BtnSwitchUser" Height="60" Width="100" Command="{Binding SwitchUserCommand}" ToolTip="{DynamicResource StatusBar.ShutdownIndication.Switch.Tooltip}" DefaultImage="{StaticResource StutasBar.Switch.Enable.Icon}" PressedImage="{StaticResource StutasBar.Switch.Touches.Icon}"></controls:ImageButton>
<controls:ImageButton x:Name="BtnSysQuit" Height="60" Width="100" Command="{Binding ExitCommand}" ToolTip="{DynamicResource StatusBar.ShutdownIndication.Quit.Tooltip}" DefaultImage="{StaticResource StutasBar.Quit.Enable.Icon}" PressedImage="{StaticResource StutasBar.Quit.Touches.Icon}"></controls:ImageButton>
<controls:ImageButton x:Name="BtnSysReBoot" Height="60" Width="100" Command="{Binding RestartCommand}" ToolTip="{DynamicResource StatusBar.ShutdownIndication.ReStart.Tooltip}" DefaultImage="{StaticResource StutasBar.ReStart.Enable.Icon}" PressedImage="{StaticResource StutasBar.ReStart.Touches.Icon}"></controls:ImageButton>
<controls:ImageButton x:Name="BtnSysShutDown" Height="60" Width="100" Command="{Binding ShutDownCommand}" ToolTip="{DynamicResource StatusBar.ShutdownIndication.ShutDown.Tooltip}" DefaultImage="{StaticResource StutasBar.ShutDown.Enable.Icon}" PressedImage="{StaticResource StutasBar.ShutDown.Touches.Icon}"></controls:ImageButton>
</StackPanel>
</Popup>
或者
<Button Name="BtnShutDownMenu" Style="{StaticResource BtnShutDownStyle}" Margin="10,9,0,0" Click="BtnShutDownMenu_Click"/>
<Popup PlacementTarget="{Binding ElementName=BtnShutDownMenu}" Placement="Right" Name="PopupShutDown" StaysOpen="False" PopupAnimation="Fade">
<StackPanel Name="StackShutDown" Canvas.Left="45" Canvas.Top="-18" Panel.ZIndex="1" Orientation="Horizontal" Background="#c1c8ce">
<Button Name="BtnSysShutDown" Style="{StaticResource MenuButtonStyle}" Content="关机" Click="BtnSysShutDown_Click"></Button>
<Button Name="BtnSysReBoot" Style="{StaticResource MenuButtonStyle}" Content="重启" Click="BtnSysReBoot_Click"></Button>
<Button Name="BtnSysQuit" Style="{StaticResource MenuButtonStyle}" Content="退出" Click="BtnSysQuit_Click"></Button>
<Button Name="BtnSwitchUser" Style="{StaticResource MenuButtonStyle}" Content="切换" Click="BtnSwitchUser_Click"></Button>
</StackPanel>
</Popup>
只要在后台,改变IsOpen的状态即可。