>>>/// <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; >> } >> } >> }>