private void OnFloatingControlClosing(object sender, CancelEventArgs args) { FloatSite floatSite = ((FrameworkElement)sender).DataContext as FloatSite; if (floatSite != null) { foreach (View view in floatSite.FindAll((Predicate <ViewElement>)(element => element is View))) { view.Hide(); } } args.Cancel = floatSite.IsVisible; }
private void OnFloatingWindowLocationChanged(object sender, RoutedEventArgs args) { FloatingWindow floatingWindow = (FloatingWindow)sender; FloatSite floatSite = floatingWindow.DataContext as FloatSite; if (floatSite == null || floatingWindow.WindowState != WindowState.Normal) { return; } foreach (ViewElement viewElement in floatSite.FindAll((Predicate <ViewElement>)(element => { if (element.IsVisible) { return(!(element is FloatSite)); } return(false); }))) { viewElement.FloatingLeft = floatingWindow.Left; viewElement.FloatingTop = floatingWindow.Top; } }
private void OnFloatingWindowSizeChanged(object sender, SizeChangedEventArgs args) { FloatingWindow floatingWindow = (FloatingWindow)sender; FloatSite site = floatingWindow.DataContext as FloatSite; if (site == null || floatingWindow.WindowState != WindowState.Normal) { return; } foreach (ViewElement viewElement in site.FindAll((Predicate <ViewElement>)(element => { if (element.IsVisible) { return(element != site); } return(false); }))) { viewElement.FloatingWidth = args.NewSize.Width; viewElement.FloatingHeight = args.NewSize.Height; } }