private static void Window_GlassMargin_Loaded(object sender, RoutedEventArgs e) { Window window = (Window)sender; WindowUtil.SetGlassMargin(window, WindowUtil.GetGlassMargin((DependencyObject)window)); window.Loaded -= new RoutedEventHandler(WindowUtil.Window_GlassMargin_Loaded); }
private static void OnGlassMarginChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { Thickness margin = (Thickness)args.NewValue; Window window = (Window)obj; if (margin.Top != 0.0 || margin.Left != 0.0 || (margin.Bottom != 0.0 || margin.Right != 0.0)) { window.MouseDown += new MouseButtonEventHandler(WindowUtil.Window_MouseDown); if (!window.IsLoaded) { window.Loaded += new RoutedEventHandler(WindowUtil.Window_GlassMargin_Loaded); } } else { window.MouseDown -= new MouseButtonEventHandler(WindowUtil.Window_MouseDown); window.Loaded -= new RoutedEventHandler(WindowUtil.Window_GlassMargin_Loaded); } if (!window.IsLoaded) { return; } WindowUtil.SetGlassMargin(window, margin); }