Я не могу понять это, независимо от того, сколько похожих решений я нахожу в Интернете. Вот моя проблема.
У меня есть свойство Brushes [] в моем WPF UserControl (MyControl). Я хочу иметь возможность стилизовать экземпляры этого элемента управления с помощью нескольких статически определенных кистей. Я думал, что XAMl будет выглядеть примерно так:
<Snip>
<Window.Resources>
<Color x:Key="ColorA">#304B82</Color>
<Color x:Key="ColorB">#F3F3F3</Color>
<x:ArrayExtension Type="Brush" x:Key="myBrushes">
<SolidColorBrush Color="{StaticResource ColorA}"/>
<SolidColorBrush Color="{StaticResource ColorB}"/>
</x:ArrayExtension>
<Style>
//Magic here to apply myBrushes to the Brushes array
</Style>
</Window.Resources>
<MyNamespace:MyControl>
</MyNamespace:MyControl>
<Snap>
Файл .cs с MyControl содержит этот драгоценный камень. В какой-то момент я использую кисти для рисования чего-либо.
public Brush[] Brushes
{
get { return (Brush[])GetValue(BrushesProperty); }
set { SetValue(BrushesProperty, value); }
}
public static readonly DependencyProperty BrushesProperty = DependencyProperty.Register(
"Brushes", typeof(Brush[]), typeof(MyControl), new PropertyMetadata(new Brush[]{}));
Ну, как вы можете себе представить, пока абсолютно ничего не работает. Был бы очень признателен за некоторые указатели в правильном направлении.