Я надеюсь, что кто-то опубликует лучший (я бы хотел увидеть что-то вроде grid1.Background = BackgroundBrush, потому что синтаксис SetResourceReference является шагом назад от Windows Forms).
Ответ 2
Методы расширения могут помочь:
public static class FrameworkElementExtensions
{
// usage xPanel.SetBackground(SystemColors.DesktopBrushKey);
public static void SetBackground(this Panel panel, ResourceKey key)
{
panel.SetResourceReference(Panel.BackgroundProperty, key);
}
// usage xControl.SetBackground(SystemColors.DesktopBrushKey);
public static void SetBackground(this Control control, ResourceKey key)
{
control.SetResourceReference(Control.BackgroundProperty, key);
}
}
Ответ 3
Это, должно быть, было добавлено в более позднюю версию WPF, поскольку это было изначально опубликовано, потому что ваш исходный код отлично работает для меня (я использую WPF 4.5)