Я пытаюсь изменить цвет фона главного окна, используя диалоговое окно с именем EditColorDialog.Диалоговое окно может читать текущий фоновый цвет основного окна просто отлично, но я не могу заставить его изменить этот цвет.
public partial class EditColorDialog : Window
{
ColorDialog colorPicker = new ColorDialog(); //this is a colorpicker
MainWindow mw = new MainWindow();
public ColorDialog()
{
InitializeComponent();
rect.Fill = mw.background; //reads the color off the main window
}
private void rect_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
colorPicker.Owner = this;
if ((bool)colorPicker.ShowDialog())
{
//selects new color from colorpicker
rect.Fill = new SolidColorBrush(colorPicker.SelectedColor);
}
}
private void OkButton_Click(object sender, RoutedEventArgs e)
{
mw.background = rect.Fill;
this.Close();
}
}
Я использую это свойство в коде главного окна
public Brush background
{
get { return main_window.Background; }
set { main_window.Background = value; }
}