WPF:コントロールの脇にContextMenuを表示する
コントロールに沿う感じでコンテキストメニューを表示しようとしたところ、少しはまってしまった為メモ。
図のように、ボタンに沿う形でコンテキストメニューを出したかった。 コードは下記のとおり。
<Window x:Class="WpfApplication.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:WpfApplication" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <Button ContextMenuService.Placement="Left" HorizontalAlignment="Center" VerticalAlignment="Center" Content="test"> <Button.ContextMenu> <ContextMenu> <MenuItem Header="test1" /> <MenuItem Header="test2" /> <MenuItem Header="test3" /> </ContextMenu> </Button.ContextMenu> </Button> </Grid> </Window>
上記のように、コンテキストメニューの表示元コントロールにContextMenuService.Placementプロパティを指定する。