Вы можете сделать его еще более универсальным и красивым, передав стиль для вашего imgButtonImage, чтобы вы могли установить несколько свойств. Поэтому в вашем пользовательском элементе управления добавьте свойство зависимостей, но сделайте его стилем:
public static readonly DependencyProperty UseStyleProperty =
DependencyProperty.Register("UseStyle", typeof(Style), typeof(CustomButtonUserControl), new PropertyMetadata(UseStyle_PropertyChanged));
public Style UseStyle
{
get { return (Style)GetValue(UseStyleProperty); }
set { SetValue(UseStyleProperty, value); }
}
private static void UseStyle_PropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
{
((CustomButtonUserControl)source).imgButtonImage.Style = (Style)e.NewValue;
}
Обратите внимание, как в функции PropertyChanged я установил стиль элемента управления на новый стиль.
Затем, когда я размещаю UserControl, я могу пройти через стиль:
<Style x:Name="MyFancyStyle" TargetType="Button" >
<Setter Property="FontSize" Value="24" />
</Style>
<controls:MyUserControl UseStyle="{StaticResource MyFancyStyle}" />
работает и в режиме разработки VS! (Это чудо )