2011-08-30 40 views
1

我有一個水平的堆棧面板,它有一個自定義按鈕,點擊後可打開按鈕右側的上下文菜單。我想這個上下文菜單有一個四捨五入的矩形。這是一種方法嗎?我以爲我可以包裝在一個元素中,但是ContextMenu不會對邊框進行響應。謝謝。WPF中上下文菜單的圓角矩形

回答

1

你可能需要樣式文本菜單元素,像這樣:

<Style TargetType="ContextMenu"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ContextMenu"> 
       <Border CornerRadius="5" BorderBrush="Black" BorderThickness="1" Background="Blue" SnapsToDevicePixels="True"> 
        <ItemsPresenter /> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

用法:

ContextMenu m = new ContextMenu(); 

m.Items.Add("Item 1"); 
m.Items.Add("Item 2"); 
m.Items.Add("Item 3"); 

m.PlacementTarget = sender as UIElement; 
m.Placement = System.Windows.Controls.Primitives.PlacementMode.Right; 
m.IsOpen = true;