2010-04-23 6 views
11

Me gustaría referirme a un MergedDictionary junto con los recursos declarados localmente en mis recursos de Windows. Sin embargo, estoy recibiendo este error:¿Se puede definir un ResourceDictionary.MergedDictionary junto con otros recursos (locales) en <Windows.Resources>?

"All objects added to an IDictionary must have a Key attribute or some other type of key associated with them."

¿Es posible mezclar los recursos locales junto con los recursos importados en las mismas Window.Resources?

El XAML es:

<Window.Resources> 
    <CollectionViewSource x:Key="cvsData" Source="{Binding Path=Data}"> 
     <CollectionViewSource.GroupDescriptions> 
      <PropertyGroupDescription PropertyName="Country"/> 
     </CollectionViewSource.GroupDescriptions>   
    </CollectionViewSource> 

    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary x:Name="images" Source="pack://application:,,,/CoreWpfControls;component/Images.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Window.Resources> 

Gracias Jeremy

+0

posible duplicado de [¿Cómo combinar los recursos importados y locales en el control de usuario de WPF] (http://stackoverflow.com/questions/1333786/how-to-combine-imported-and-local-resources-in -wpf-user-control) – Dzyann

Respuesta

29

Sí, en realidad es muy simple. Solo necesita mover los recursos adicionales dentro del elemento ResourceDictionary.

<Window.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="pack://application:,,,/CoreWpfControls;component/Images.xaml"/> 
     </ResourceDictionary.MergedDictionaries> 
     <CollectionViewSource x:Key="cvsData" Source="{Binding Path=Data}"> 
      <CollectionViewSource.GroupDescriptions> 
       <PropertyGroupDescription PropertyName="Country"/> 
      </CollectionViewSource.GroupDescriptions>   
     </CollectionViewSource> 
    </ResourceDictionary> 
</Window.Resources> 
+0

Duh - ¿Qué tan simple es eso? Busqué en todas partes en la documentación/Google y no pude encontrar la respuesta. ¡¡Muchas gracias!! –

+1

Aunque es 2+ años más tarde, encontré esto extremadamente útil. Busco alto y bajo para corregir el mismo error de compilación. – billmiller

+0

Esto también funcionó para mí hoy, pero si todo tiene que ir dentro de la etiqueta adicional, parece redundante. – Jess

Cuestiones relacionadas