Cómo combinar recursos importados y locales en el control de usuario de WPF

Estoy escribiendo varios controles de usuario de WPF que necesitan recursos compartidos e individuales.

He descubierto la sintaxis para cargar recursos de un archivo de recursos separado:

<UserControl.Resources>
    <ResourceDictionary Source="ViewResources.xaml" />
</UserControl.Resources>

Sin embargo, cuando hago esto, tampoco puedo agregar recursos localmente, como:

<UserControl.Resources>
    <ResourceDictionary Source="ViewResources.xaml" />
    <!-- Doesn't work: -->
    <ControlTemplate x:Key="validationTemplate">
        ...
    </ControlTemplate>
    <style x:key="textBoxWithError" TargetType="{x:Type TextBox}">
        ...
    </style>
    ...
</UserControl.Resources>

He echado un vistazo a ResourceDictionary.MergedDictionaries, pero eso solo me permite combinar más de un diccionario externo, no definir recursos adicionales localmente.

¿Me debe faltar algo trivial?

Debe mencionarse: estoy alojando mis controles de usuario en un proyecto de WinForms, por lo que poner recursos compartidos en App.xaml no es realmente una opción.

Respuestas a la pregunta(3)

Su respuesta a la pregunta