>/// <summary> >/// Main Window State Setting >/// </summary> >public System.Windows.WindowState MainWindowState >{ > get { return OCSDApplication.Current.MainWindow.WindowState; } > set { OCSDApplication.Current.MainWindow.WindowState = value; } >} >>
public partial class SomeWindow : Window { public SomeWindow() { InitializeComponent(); BackgroundWorker b = new BackgroundWorker(); b.DoWork += new DoWorkEventHandler(DoWork); b.RunWorkerAsync(); } public void SetMainWindowState(WindowState ws) { Application.Current.MainWindow.WindowState = ws; } public WindowState GetMainWindowState() { return Application.Current.MainWindow.WindowState; } void DoWork(object sender, DoWorkEventArgs e) { MainWindowState = WindowState.Maximized; WindowState test = MainWindowState; } private WindowState mainWindowState; public WindowState MainWindowState { set { Dispatcher.Invoke(DispatcherPriority.Normal, new Action<WindowState>(SetMainWindowState), value); } get { Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { mainWindowState = this.GetMainWindowState(); })); return mainWindowState; } } }