Blend에서 ContextMenu 템플릿을 쉽게 얻을 수있는 방법을 찾았습니다.
- butto에 ContextMenu를 추가했습니다. 일부 메뉴가있는 n.
- 속성 창에서 "miscellaneous"아래에 ContextMenu에 대한 그룹화 된 항목이 있습니다.
- 열기. 일반적인 스타일 및 템플릿 속성을 찾을 수 있습니다.
- 은 ... 그것 뿐이다
을 팝업 메뉴의 사각형을 클릭하고 새 리소스로 변환을 선택합니다. 템플릿/스타일을 넣을 위치를 선택하면 완료됩니다.
<StackPanel x:Name="LayoutRoot">
<Button Content="Click for ContextMenu" Width="30" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button.ContextMenu>
<ContextMenu Template="{DynamicResource ContextMenuControlTemplate1}" Style="{DynamicResource ContextMenuStyle1}">
<MenuItem Header="File"/>
<MenuItem Header="Edit"/>
<MenuItem Header="View"/>
<MenuItem Header="Recent Files"/>
<MenuItem Header="file1.txt"/>
<MenuItem Header="file2.txt"/>
</ContextMenu>
</Button.ContextMenu>
</Button>
</StackPanel>
그리고 내가 가진 스타일/템플릿 :이 도움이
<Style x:Key="ContextMenuStyle1" TargetType="{x:Type ContextMenu}">
<Setter Property="Background" Value="{DynamicResource MenuBackgroundBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="{DynamicResource WindowBorderBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ContextMenu}">
<Border Uid="Border_93">
<Border.Style>
<Style TargetType="{x:Type Border}">
<Setter Property="Tag" Value="{DynamicResource {x:Static SystemParameters.DropShadowKey}}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Tag, RelativeSource={RelativeSource Self}}" Value="True">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="0,0,5,5"/>
<Setter Property="Effect">
<Setter.Value>
<DropShadowEffect BlurRadius="4" Opacity="0.8" ShadowDepth="1"/>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
희망
여기에 내가 가진 마크 업이다. 보통의 MS 철저법에서는 기본 스타일의 브러쉬가 발견되지 않습니다. :)
루크,이 문제를 해결 했습니까? 나는 아래의 모든 다른 아이디어들에 대해 조금 혼란스러워합니다. 어떤 힌트 주셔서 감사합니다! –
예, 아래에서 템플릿을 가져오고 거기에서 수정했습니다. – Luke