Как обойти рекурсию объединения словарей ResourceDictionary?
Мне необходимо ResourceDictionary разбить на несколько частей, но при этом должна присутствовать связь между словарями на подобии partial классов.
Т.е. из этого
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Color x:Key="Color-01">#985587</Color>
<Color x:Key="Color-02">#D9A9CC</Color>
<!--#region Computed -->
<SolidColorBrush x:Key="ColorBrush-01" Color="{DynamicResource Color-01}"/>
<SolidColorBrush x:Key="ColorBrush-02" Color="{DynamicResource Color-02}"/>
<!--#endregion-->
</ResourceDictionary>
Получить это (Ошибка при запуске, из за рекурсии подключения словарей)
<!--Base.xaml-->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Color x:Key="Color-01">#985587</Color>
<Color x:Key="Color-02">#D9A9CC</Color>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Computed.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
<!--Computed.xaml-->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Base.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--#region Computed -->
<SolidColorBrush x:Key="ColorBrush-01" Color="{DynamicResource Color-01}"/>
<SolidColorBrush x:Key="ColorBrush-02" Color="{DynamicResource Color-02}"/>
<!--#endregion-->
</ResourceDictionary>
В дальнейшем планируется подключение лишь словаря Base.xaml. Так же если в Computed.xaml убрать MergedDictionaries, то все работает как надо. Но единственное при заполнении ресурсами словаря, нет подсказок ресурсов из Base.xaml, а они необходимы.
Пробовал воспользоваться 'mc:Ignorable', но по какой-то причине он не работает на словари.
<!--Computed.xaml-->
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:p="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
mc:Ignorable="p" >
<p:ResourceDictionary.MergedDictionaries>
<p:ResourceDictionary Source="Base.xaml"/>
</p:ResourceDictionary.MergedDictionaries>
<!--#region Computed -->
<SolidColorBrush x:Key="ColorBrush-01" Color="{DynamicResource Color-01}"/>
<SolidColorBrush x:Key="ColorBrush-02" Color="{DynamicResource Color-02}"/>
<!--#endregion-->
</ResourceDictionary>