C# 将XAML上下文菜单转换为资源

C# 将XAML上下文菜单转换为资源,c#,wpf,xaml,C#,Wpf,Xaml,我试图编辑一些代码,以便上下文菜单包含在xaml文件的资源中,而不是实际代码中。关联菜单为: <ContextMenu x:Key="CameraControlContextMenu" x:Shared="False" cal:Action.TargetWithoutContext="{Binding Path=DataContext, RelativeSource={RelativeSource Self}}"> <exclusiveMenuItem:Exclusiv

我试图编辑一些代码,以便上下文菜单包含在xaml文件的资源中,而不是实际代码中。关联菜单为:

<ContextMenu x:Key="CameraControlContextMenu" x:Shared="False" cal:Action.TargetWithoutContext="{Binding Path=DataContext, RelativeSource={RelativeSource Self}}">
    <exclusiveMenuItem:ExclusiveMenuItem x:Name="Turn" Header="{DynamicResource SetCameraToTurn}" IsCheckable="True" IsChecked="{Binding IsTurnMode}" cal:Message.Attach="[Event Click] = [Action TurnMode]" IsEnabled="{Binding IsAvailable}" Icon="{DynamicResource TurningImageSource}"/>
    <exclusiveMenuItem:ExclusiveMenuItem x:Name="Drag" Header="{DynamicResource SetCameraToDrag}" IsCheckable="True" IsChecked="{Binding IsDragMode}" cal:Message.Attach="[Event Click] = [Action DragMode]" Icon="{DynamicResource DragImageSource}"/>            
</ContextMenu>

无论如何,上下文菜单工作正常,位于另一个菜单中:

<splitButton:SplitButton.DropDownContextMenu>
    CONTEXTMENUWASHERE
</splitButton:SplitButton.DropDownContextMenu>

上下文菜单
我正试图将它提取到XAML文件的资源中,以便可以在多个地方使用它。不过我有点麻烦。我已经把它取出来了,问题是从那个拆分按钮中引用参考资料中的上下文菜单

我的XAML有点不稳定,我发现这有点难以研究,尽管我认为解决方案可能非常简单


非常感谢您的帮助。

我真的不明白您的问题,或者我误解了,或者您只是看不到树木的树木?如何将控件上的
ContextMenu
设置为正常的简短XAML格式:

<splitButton:SplitButton 
    DropDownContextMenu="{StaticResource CameraControlContextMenu}" />

Hm,这告诉我“无法在属性元素上设置属性”。我对您的
SplitButton
控件一无所知,因为您没有显示给我们。仅按照典型的速记XAML约定,根据您的速记XAML示例判断,这就是设置
DropDownContextMenu
属性的方式。我不能告诉你更多。