2013-10-30 42 views
1

我有一个按钮和ContextMenu属于Button
这里是XAML:WPF Align contextmenu到按钮的右下角

<Button x:Name="ListBoxButton" Content="6" Style="{DynamicResource TabControlButton}"> 
    <Button.ContextMenu> 
     <ContextMenu> 
      <MenuItem Header="tst1"></MenuItem> 
      <MenuItem Header="tst2"></MenuItem> 
     </ContextMenu> 
    </Button.ContextMenu> 
</Button> 

我要对齐文本菜单我完全像图像#一样的地方2 in this post
我想用XAML来实现它,而不是代码隐藏。

我不可能实现它,我试图与ContextMenuPlacementTargetHorizontalOffsetVeritcalOffsetPlacement性能发挥,但它并没有对齐,我想..

回答

5

我想你应该尝试这样

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Button HorizontalAlignment="Center" 
       VerticalAlignment="Center" 
       Height="20" Width="80" 
       ContextMenuService.Placement="Left"      
       ContextMenuService.HorizontalOffset="{Binding RelativeSource={RelativeSource Self}, Path=ActualWidth}" 
       ContextMenuService.VerticalOffset="{Binding RelativeSource={RelativeSource Self}, Path=ActualHeight}"> 
      <Button.ContextMenu> 
       <ContextMenu> 
        <MenuItem Header="Menu item 01"/> 
        <MenuItem Header="Menu item 02"/> 
       </ContextMenu> 
      </Button.ContextMenu> 
     </Button> 
    </Grid> 
</Window>