У меня есть библиотека классов, которая содержит довольно большой словарь ресурсов, и я думаю, что организация моего проекта может быть улучшена путем разделения его на более мелкие более конкретные файлы, например, один для стилей управления один для цвета ect. Моя проблема в том, что в некоторых словарях используются поля других (например, стили управления используют цвета).Как я могу разделить один словарь ресурсов на два?
Мой вопрос: как я могу разделить один словарь ресурсов на два, а затем использовать один словарь в другом?
Вот что (часть) полный словарь выглядит (не отделились)
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<SolidColorBrush x:Key="backgroundColour" Color="#FF1D1D1D"/>
<SolidColorBrush x:Key="foregroundColour" Color="#FFEAEAEA"/>
<SolidColorBrush x:Key="textColour" Color="White"/>
<SolidColorBrush x:Key="borderColour" Color="#FFF31515"/>
<SolidColorBrush x:Key="mouseOverBackgroundColour" Color="#E59400"/>
<SolidColorBrush x:Key="mouseOverForegroundColour" Color="White"/>
<SolidColorBrush x:Key="mousePressedBackgroundColour" Color="OrangeRed"/>
<SolidColorBrush x:Key="mousePressedForegroundColour" Color="White"/>
<Style x:Key="DriveButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="{DynamicResource backgroundColour}" />
<Setter Property="Foreground" Value="{DynamicResource foregroundColour}" />
<Setter Property="FontSize" Value="16" />
<Setter Property="FontFamily" Value="Calibri Light" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Margin" Value="2" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Background="{TemplateBinding Background}" BorderBrush="Gray" BorderThickness="1" >
<ContentPresenter x:Name="MyContentPresenter" Content="{TemplateBinding Content}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{DynamicResource mouseOverBackgroundColour}" />
<Setter Property="Foreground" Value="{DynamicResource mouseOverForegroundColour}" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="{DynamicResource mousePressedBackgroundColour}" />
<Setter Property="Foreground" Value="{DynamicResource mousePressedForegroundColour}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DriveImageStyle" TargetType="{x:Type Image}">
<Setter Property="Width" Value="30" />
<Setter Property="Height" Value="30" />
<Setter Property="Margin" Value="2" />
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
<Style x:Key="DriveLabelStyle" TargetType="{x:Type Label}">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="Foreground" Value="{DynamicResource foregroundColour}" />
<Setter Property="FontSize" Value="15" />
<Setter Property="FontFamily" Value="Calibri Light" />
</Style>
Не зная, как выглядит ваш словарь, трудно дать определенный ответ, но вы изучили использование ''? –
Shaamaan
Я изучу объединенные словари. Я думал, что они предназначены для использования там, где вы хотите использовать части двух * отдельных * словарей. Я добавил образец словаря, который я пытаюсь разбить. – Timmoth
Хорошо, неважно, спасибо за помощь Шаамаану. Я думаю, теперь у меня это работает. MergedDictionaries - это ключ ... – Timmoth