Чтобы сделать стиль глобальным, ключ должен быть таким же, как TargetType, что явно не так в вашем примере.Измените свой ключ на «{x: Type Separator}» и посмотрите, подходит ли он вам.Вы также можете объединить два фрагмента вместе, если у вас нет особой необходимости разделять их, например,
<Style x:Key="{x:Type Separator}" TargetType="{x:Type Separator}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Rectangle Name="SepRect" StrokeThickness="1" Stroke="White"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
После того, как вы это сделаете, вы, вероятно, сможете сократить первый блок кода.Похоже, вы пытаетесь сделать меню вручную, используя стиль.Если вы делаете его глобальным, вам не нужно это делать, например,
<ContextMenu x:Key="ActionMenu" ItemsSource="{Binding Source={StaticResource ActionMenuSource}}"/>