我试图编辑一些代码,以便上下文菜单包含在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有点不稳定,我发现研究这有点棘手,虽然我认为解决方案可能非常简单。
感谢任何帮助,谢谢。
答案 0 :(得分:1)
我没有真正看到你的问题,或者我或者误解了它,或者你只是没有看到木头的树木?如何在正常的短XAML表单中设置控件上的ContextMenu
:
<splitButton:SplitButton
DropDownContextMenu="{StaticResource CameraControlContextMenu}" />