Если у вас есть стиль, определенный в вашем приложении, например:
<Style TargetType="{x:Type ContextMenu}" ...
Тогда это неявный стиль, а не стиль по умолчанию. Стили по умолчанию обычно располагаются в той же сборке, что и элемент управления, или в соответствующих сборках (т.е. MyAssembly.Aero.dll).
Неявные стили не применяются автоматически к производным типам, и это, вероятно, то, что вы видите.
Вы можете определить второй стиль, например:
<Style x:Key="{x:Type ContextMenu}" TargetType="{x:Type ContextMenu}" ...
<Style TargetType="{x:Type local:MyContextMenu}" BasedOn="{StaticResource {x:Type ContextMenu}}" ...
Или вы можете использовать свойство Style вашего элемента управления. Вы можете сделать следующее из XAML
<local:MyContextMenu Style="{DynamicResource {x:Type ContextMenu}}" ...
или вы можете сделать это в вашем MyContextMenu следующим образом:
public MyContextMenu() {
this.SetResourceReference(StyleProperty, typeof(ContextMenu));
}