Можете ли вы определить ResourceDictionary.MergedDictionary вместе с другими (локальными) ресурсами в? - PullRequest
11 голосов
/ 23 апреля 2010

Я хотел бы сослаться на MergedDictionary вместе с локально объявленными ресурсами в моем Windows.Resources.Однако я получаю эту ошибку:

"Все объекты, добавленные в IDictionary, должны иметь атрибут Key или какой-либо другой тип ключа, связанный с ними."

Можно ли смешивать локальные ресурсы с импортированными ресурсами в одном и том же Window.Resources?

XAML:

 <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>

Спасибо, Джереми

1 Ответ

30 голосов
/ 23 апреля 2010

Да, на самом деле все очень просто.Вам просто нужно переместить дополнительные ресурсы внутри элемента 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>
...