예제 #1
0
        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;
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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;
            }
        }