자동으로 적용 할 수있는 contextmenu에 대한 스타일을 만들려면 어디서든 웹에서 찾은 모든 예제를 시도했지만 아무 것도 작동하지 않습니다. 나는 MSDN 링크에 서술 된 스타일을 시도했다 : http://msdn.microsoft.com/en-us/library/ms744758(v=vs.85).aspx기본 wpf 컨텍스트 메뉴의 스타일을 만드는 방법은 무엇입니까?
나는 아래의 스타일을 사용했지만 작동하지 않는다.
<Style x:Key="CStyle" TargetType="ContextMenu">
<Setter Property="SnapsToDevicePixels"
Value="True" />
<Setter Property="OverridesDefaultStyle"
Value="True" />
<Setter Property="Grid.IsSharedSizeScope"
Value="true" />
<Setter Property="HasDropShadow"
Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContextMenu">
<Border Name="Border"
Background="Red"
BorderBrush="{StaticResource SolidBorderBrush}"
BorderThickness="1">
<StackPanel IsItemsHost="True"
KeyboardNavigation.DirectionalNavigation="Cycle" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="HasDropShadow"
Value="true">
<Setter TargetName="Border"
Property="Padding"
Value="0,3,0,3" />
<Setter TargetName="Border"
Property="CornerRadius"
Value="4" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
어느 하나가이 목표를 달성 할 수 있습니까?
I (아래 샘플 참조) TextBoxStyle에이 스타일을 적용하려고 노력하고 내가 그것을하고 난 아래의 오류가 표시 텍스트 상자의 컨텐츠를 마우스 오른쪽 클릭을 실행하면
는" 'System.Windows.Style은'입니다 속성 'ContextMenu'에 유효한 값이 아닙니다. " 내가 아래의 스타일로 어디에서든지 잘못하고있는거야 ?? 제발 나를 안내 해줘.
샘플 텍스트 박스 스타일 :
<Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}" BasedOn="{StaticResource BaseTextStyle}">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="ContextMenu" Value="{StaticResource CStyle}" />
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
<Setter Property="Template">
<Setter.Value>
저 스타일이 저에게 효과적입니다. 어디에서 정의 했습니까? –
은 App.xaml에서 resources 섹션에 정의했습니다. 나는 내가 일할 것이라고 생각한다. – loop
TextBoxStyles.xaml에 그것을 리소스 사전으로 추가했다. 그러나 작동하지 않습니다. – user2408987