Я пытаюсь создать WPF UserControl, который содержит 2 кнопки. Я использую этот UserControl в окне и применяю значение Window.Resource, чтобы установить фон одной кнопки внутри пользовательского элемента управления.WPF UserControl привязка свойств
В настоящее время у меня есть:
window.xaml
<Window.Resources> <SolidColorBrush Color="Brown" x:Key="theBG"></SolidColorBrush> </Window.Resources> <theControl:TheControl x:Name="TheControl" buttonBG="{Binding Source={StaticResource theBG}}" />
usercontrol.xaml.cs
public SolidColorBrush buttonBG { get { return base.GetValue(buttonBGProperty) as SolidColorBrush; } set { base.SetValue(buttonBGProperty, value); } } public static readonly DependencyProperty buttonBGProperty = DependencyProperty.Register("buttonBG", typeof(SolidColorBrush), typeof(DataPanel), null);
usercontrol.xaml
<Button ... Background="{Binding buttonBG}">
Я ожидал, что это сработает, но фон не тот, который я установил в ресурсе окна.
Что я делаю неправильно?
Вы можете упростить 'buttonBG =" {Binding Source = {StaticResource theBG}} "' to 'buttonBG =" {StaticResource theBG} "', привязка ничего не делает. –
'SolidColorBrush' в излишне специфическом, просто использовал бы« Brush »как тип свойства. –