private static void ChromeChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { if (DesignerProperties.GetIsInDesignMode(d)) { return; } Window window = d as Window; if (window != null) { // don't care about old chrome since it has no state Chrome newChrome = e.NewValue as Chrome; if (newChrome == null) { BorderManager.SetManager(window, null); } else if (e.NewValue != e.OldValue) { var worker = BorderManager.GetManager(window); if (worker == null) { worker = new BorderManager(); BorderManager.SetManager(window, worker); } else { worker.UpdateChrome(newChrome); } } } }
private void ContentWindow_Closed(object sender, EventArgs e) { BorderManager.SetManager((Window)sender, null); }