C# WPF自定义上下文菜单(资源字典)
我已经为上下文菜单创建了自定义样式。但我必须在每个小部件(文本框)下放置3行代码:C# WPF自定义上下文菜单(资源字典),c#,wpf,contextmenu,C#,Wpf,Contextmenu,我已经为上下文菜单创建了自定义样式。但我必须在每个小部件(文本框)下放置3行代码: 我为什么要这么做?我的工具提示样式在没有任何额外代码的情况下工作 我的关联菜单代码: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
我为什么要这么做?我的工具提示样式在没有任何额外代码的情况下工作
我的关联菜单代码:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Color x:Key="BackgroundColor" A="255" R="19" G="19" B="19"/>
<BitmapImage x:Key="BiCut" UriSource="Images/cut.tif"/>
<BitmapImage x:Key="BiCopy" UriSource="Images/copy.tif"/>
<BitmapImage x:Key="BiPaste" UriSource="Images/paste.tif"/>
<SolidColorBrush x:Key="BorderBrush" Color="#ECECEC"/>
<Style TargetType="ContextMenu">
<Setter Property="Foreground" Value="{StaticResource BorderBrush}"/>
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Grid.IsSharedSizeScope" Value="true" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContextMenu">
<Border BorderThickness="1" BorderBrush="#2468d9" Padding="2" Background="#131313">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Height="20">
<Image Source="{StaticResource BiCut}" Width="20"/>
<Button Content="Ausschneiden" Margin="5,0,0,0"/>
<TextBlock Text="Strg+X" TextAlignment="Center" VerticalAlignment="Center" Margin="5,0,0,0"/>
</StackPanel>
</StackPanel>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
您可以为
文本框
创建默认的样式
,并在样式
中添加该上下文菜单
。通过这种方式,您将在应用程序中添加的每个文本框中都有上下文菜单
,而不必到处添加这三行
<Style TargetType="{x:Type TextBox}" >
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu />
</Setter.Value>
</Setter>
</Style>
您可以为文本框
创建默认的样式
,并在样式
中添加该上下文菜单
。通过这种方式,您将在应用程序中添加的每个文本框中都有上下文菜单
,而不必到处添加这三行
<Style TargetType="{x:Type TextBox}" >
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu />
</Setter.Value>
</Setter>
</Style>
您可以为文本框
创建默认的样式
,并在样式
中添加该上下文菜单
。通过这种方式,您将在应用程序中添加的每个文本框中都有上下文菜单
,而不必到处添加这三行
<Style TargetType="{x:Type TextBox}" >
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu />
</Setter.Value>
</Setter>
</Style>
您可以为文本框
创建默认的样式
,并在样式
中添加该上下文菜单
。通过这种方式,您将在应用程序中添加的每个文本框中都有上下文菜单
,而不必到处添加这三行
<Style TargetType="{x:Type TextBox}" >
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu />
</Setter.Value>
</Setter>
</Style>
默认情况下,控件没有上下文菜单
(检查属性-它是null
)。因此,您的样式将不会应用于任何控件。
工具提示默认为null
,但必要时将由TooltipService
填充
没有任何服务可以为所有元素填充上下文菜单。为此使用默认样式(对于控件
)。控件在默认情况下没有上下文菜单
(检查属性-它是null
)。因此,您的样式将不会应用于任何控件。
工具提示默认为null
,但必要时将由TooltipService
填充
没有任何服务可以为所有元素填充上下文菜单。为此使用默认样式(对于控件
)。控件在默认情况下没有上下文菜单
(检查属性-它是null
)。因此,您的样式将不会应用于任何控件。
工具提示默认为null
,但必要时将由TooltipService
填充
没有任何服务可以为所有元素填充上下文菜单。为此使用默认样式(对于控件
)。控件在默认情况下没有上下文菜单
(检查属性-它是null
)。因此,您的样式将不会应用于任何控件。
工具提示默认为null
,但必要时将由TooltipService
填充
没有任何服务可以为所有元素填充上下文菜单。为此使用默认样式(对于控件
)