Ejemplo n.º 1
0
 private void ShowShadow(MyLayerOptions options)
 {
     if (options.HasShadow)
     {
         DropShadowEffect de = new DropShadowEffect();
         //de.BlurRadius = options.ShadowRadius;
         de.Color       = options.ShadowColor;
         de.ShadowDepth = options.ShadowDepth;
         body.Effect    = de;
         de.BlurRadius  = options.ShadowRadius;
         de.Opacity     = 0.3;
         MyAniDouble _1 = new MyAniDouble(body);
         _1.AniPropertyPath = new PropertyPath("(FrameworkElement.Effect).(DropShadowEffect.BlurRadius)");
         _1.FromDouble      = 0;
         _1.ToDouble        = options.ShadowRadius;
         _1.AniEasingMode   = 2;
         _1.AnimateSpeed    = 200;
         _1.Animate().End();
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <param name="owner">owner</param>
 /// <param name="title">窗口的title</param>
 /// <param name="view">要添加的页面</param>
 /// <param name="option">窗口的设置(new 一个MyLayerOptions)</param>
 public static void ShowDialog(Window owner, string title, UserControl view, MyLayerOptions option)
 {
     ShowDialog <object>(owner, title, view, null, option);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <param name="owner">owner</param>
 /// <param name="view">要添加的页面</param>
 /// <param name="option">窗口的设置(new 一个MyLayerOptions)</param>
 public static void ShowDialog(Window owner, UserControl view, MyLayerOptions option)
 {
     ShowDialog(owner, "", view, option);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <param name="title">窗口的title</param>
 /// <param name="view">要添加的页面</param>
 /// <param name="option">窗口的设置(new 一个MyLayerOptions)</param>
 public static void ShowDialog(string title, UserControl view, MyLayerOptions option)
 {
     ShowDialog(null, title, view, option);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <param name="view">要添加的页面</param>
 /// <param name="option">窗口的设置(new 一个MyLayerOptions)</param>
 public static void ShowDialog(UserControl view, MyLayerOptions option)
 {
     ShowDialog("", view, option);
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 弹出窗口
        /// </summary>
        /// <typeparam name="TViewModel">传入的viewmodel</typeparam>
        /// <param name="owner">owner</param>
        /// <param name="title">窗口的title</param>
        /// <param name="view">窗口的内容</param>
        /// <param name="viewmodel">窗口的内容的viewmodel</param>
        /// <param name="onDialogCloseCallBack">窗口关闭后的回掉事件</param>
        /// <param name="option">窗口的一些属性设置(主要是动画)</param>
        /// <param name="winLoadAction">窗口加载完页面后执行的操作</param>
        /// <param name="request">InteractionRequest类,调用者可执行Requested,即可关闭弹出的窗口</param>
        public static void ShowDialog <TViewModel>(Window owner, string title, System.Windows.Controls.UserControl view, TViewModel viewmodel, Action <TViewModel> onDialogCloseCallBack, MyLayerOptions option, Action winLoadAction, InteractionRequest request)
        {
            view.DataContext = viewmodel;
            MyLayer messageBox = new MyLayer(owner, view, title, option, true, winLoadAction);

            if (onDialogCloseCallBack != null)
            {
                messageBox.Closed += (sender, e) => onDialogCloseCallBack(viewmodel);
            }
            if (request != null)
            {
                CallParameterizedMethodAction action = new CallParameterizedMethodAction();
                action.MethodName   = "Close";
                action.TargetObject = messageBox;
                InteractionRequestTrigger trigger = new InteractionRequestTrigger();
                trigger.Actions.Add(action);
                trigger.SourceObject = request;
                Interaction.GetTriggers(messageBox).Add(trigger);
            }
            messageBox.Show();
        }
Ejemplo n.º 7
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <typeparam name="TViewModel">传入的viewmodel</typeparam>
 /// <param name="title">窗口的title</param>
 /// <param name="view">窗口的内容</param>
 /// <param name="viewmodel">窗口的内容的viewmodel</param>
 /// <param name="onDialogCloseCallBack">窗口关闭后的回掉事件</param>
 /// <param name="option">窗口的一些属性设置(主要是动画)</param>
 /// <param name="winLoadAction">窗口加载完页面后执行的操作</param>
 /// <param name="request">InteractionRequest类,调用者可执行Requested,即可关闭弹出的窗口</param>
 public static void ShowDialog <TViewModel>(string title, System.Windows.Controls.UserControl view, TViewModel viewmodel, Action <TViewModel> onDialogCloseCallBack, MyLayerOptions option, Action winLoadAction, InteractionRequest request)
 {
     ShowDialog <TViewModel>(null, title, view, viewmodel, onDialogCloseCallBack, option, winLoadAction, request);
 }
Ejemplo n.º 8
0
        /// <summary>
        /// 弹出窗口
        /// </summary>
        /// <typeparam name="TViewModel">传入的viewmodel</typeparam>
        /// <param name="owner">窗口的owner</param>
        /// <param name="title">窗口的title</param>
        /// <param name="view">窗口的内容</param>
        /// <param name="viewmodel">窗口的内容的viewmodel</param>
        /// <param name="onDialogCloseCallBack">窗口关闭后的回掉事件</param>
        /// <param name="option">窗口的一些属性设置(主要是动画)</param>
        /// <param name="winLoadAction">窗口加载完页面后执行的操作</param>
        public static void ShowDialog <TViewModel>(Window owner, string title, UserControl view, TViewModel viewmodel, Action <TViewModel> onDialogCloseCallBack, MyLayerOptions option, Action winLoadAction)
        {
            view.DataContext = viewmodel;
            MyLayer messageBox = new MyLayer(owner, view, title, option, true, winLoadAction);

            if (onDialogCloseCallBack != null)
            {
                messageBox.Closed += (sender, e) => onDialogCloseCallBack(viewmodel);
            }
            messageBox.ShowDialog();
        }
Ejemplo n.º 9
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <typeparam name="TViewModel">要添加的页面的viewmodel的类型</typeparam>
 /// <param name="title">窗口的title</param>
 /// <param name="view">要添加的页面</param>
 /// <param name="viewmodel">要添加的页面的viewmodel</param>
 /// <param name="onDialogCloseCallBack">关闭窗口后触发的方法(参数为页面的viewmodel)</param>
 /// <param name="options">窗口的设置(new 一个MyLayerOptions)</param>
 /// <param name="winLoadAction">页面渲染完之后进行的操作,一般是数据加载</param>
 public static void ShowDialog <TViewModel>(string title, UserControl view, TViewModel viewmodel, Action <TViewModel> onDialogCloseCallBack, MyLayerOptions options, Action winLoadAction)
 {
     ShowDialog <TViewModel>(null, title, view, viewmodel, onDialogCloseCallBack, options, winLoadAction);
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <typeparam name="TViewModel">要添加的页面的viewmodel的类型</typeparam>
 /// <param name="view">要添加的页面</param>
 /// <param name="viewmodel">要添加的页面的viewmodel</param>
 /// <param name="onDialogCloseCallBack">关闭窗口后触发的方法(参数为页面的viewmodel)</param>
 /// <param name="options">窗口的设置(new 一个MyLayerOptions)</param>
 public static void ShowDialog <TViewModel>(UserControl view, TViewModel viewmodel, Action <TViewModel> onDialogCloseCallBack, MyLayerOptions options)
 {
     ShowDialog <TViewModel>(null, "", view, viewmodel, onDialogCloseCallBack, options, null);
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 弹出窗口
 /// </summary>
 /// <typeparam name="TViewModel">要添加的页面的viewmodel的类型</typeparam>
 /// <param name="owner">owner</param>
 /// <param name="title">窗口的title</param>
 /// <param name="view">要添加的页面</param>
 /// <param name="viewmodel">要添加的页面的viewmodel</param>
 /// <param name="option">窗口的设置(new 一个MyLayerOptions)</param>
 public static void ShowDialog <TViewModel>(Window owner, string title, UserControl view, TViewModel viewmodel, MyLayerOptions option)
 {
     ShowDialog <TViewModel>(owner, title, view, viewmodel, null, option, null);
 }
Ejemplo n.º 12
0
        private void SetMyLayerBase(Window owner, object content, string title, MyLayerOptions options, bool isDiaglog, Action action)
        {
            if (options == null)
            {
                options = MYUI.DefaultAyLayerOptions;
            }
            _options   = options;
            this.Title = title ?? "";
            //this.Topmost = true;
            //this.ShowInTaskbar = true;
            //if (owner != null)
            //{
            //    Owner = owner;
            //}
            Owner = owner ?? Application.Current.MainWindow;
            //userPresenter.Content = content;
            var fram = content as FrameworkElement;

            if (fram != null)
            {
                userPresenter.Width  = fram.Width;
                userPresenter.Height = fram.Height;
            }
            if (options.CanDrag)
            {
                MouseDragElementBehavior m = new MouseDragElementBehavior();
                m.Attach(body);
                //body.MouseMove += new MouseEventHandler(Element_MouseMove);
                //body.MouseLeftButtonDown += new MouseButtonEventHandler(Element_MouseLeftButtonDown);
                //body.MouseLeftButtonUp += new MouseButtonEventHandler(Element_MouseLeftButtonUp);
            }
            if (options.IsContainsTitleBar)
            {
                d.Height = Extensiones.ToGridLength("42.00");
                Border b = new Border();
                if (options.LayerCornerRadius.HasValue)
                {
                    b.Margin       = new Thickness(-1, -1, -1, 0);
                    b.CornerRadius = new CornerRadius(options.LayerCornerRadius.Value.TopLeft, options.LayerCornerRadius.Value.TopRight, 0, 0);
                }

                b.HorizontalAlignment = HorizontalAlignment.Stretch;
                b.VerticalAlignment   = VerticalAlignment.Stretch;
                //b.SetResourceReference(Border.BackgroundProperty, Colors.CadetBlue);
                b.Background = SolidColorBrushConverter.From16JinZhi("#F0F1F2");
                Grid g = new Grid();
                if (!string.IsNullOrWhiteSpace(title))
                {
                    TextBlock tb = new TextBlock();
                    tb.Width               = 200;
                    tb.VerticalAlignment   = VerticalAlignment.Center;
                    tb.HorizontalAlignment = HorizontalAlignment.Left;
                    tb.Margin              = new Thickness(10, 0, 0, 0);
                    tb.TextWrapping        = TextWrapping.NoWrap;
                    tb.FontSize            = 14;
                    tb.TextTrimming        = TextTrimming.CharacterEllipsis;
                    //tb.Foreground = SolidColorBrushConverter.From16JinZhi("#99FFFFFF");
                    Binding binding = new Binding {
                        Path = new PropertyPath("Title"), Source = this, Mode = BindingMode.TwoWay
                    };
                    tb.SetBinding(TextBlock.TextProperty, binding);
                    g.Children.Add(tb);
                }
                MyImageButton ab = new MyImageButton();
                ab.RenderMode          = MyImageButtonMode.HorizonFour;
                ab.SnapsToDevicePixels = true;
                ab.Margin              = new Thickness(0, 0, 10, 0);
                ab.Height              = ab.Width = 26;
                ab.VerticalAlignment   = VerticalAlignment.Center;
                ab.HorizontalAlignment = HorizontalAlignment.Right;
                ab.Padding             = new Thickness(0);
                ab.Icon   = new BitmapImage(new Uri("pack://application:,,,/MyWPFUI;component/Resources/Images/closebtn.png"));
                ab.Click += closewindow_Click;
                ab.VerticalContentAlignment   = VerticalAlignment.Center;
                ab.HorizontalContentAlignment = HorizontalAlignment.Center;
                //ab.Foreground = SolidColorBrushConverter.From16JinZhi("#99FFFFFF");
                //ab.Content = "关闭";
                g.Children.Add(ab);
                b.Child = g;
                bodyConent.Children.Add(b);
            }
            Console.WriteLine("开始触发options.MaskBrush");
            if (options.MaskBrush.IsNotNull())
            {
                layoutMain.Background = options.MaskBrush;
            }
            if (isDiaglog)
            {
                if (options.MaskBrush.IsNull())
                {
                    layoutMain.Background = SolidColorBrushConverter.From16JinZhi("#05FFFFFF");
                }
                layoutMain.MouseLeftButtonDown += LayoutMain_MouseLeftButtonDown;
            }
            Console.WriteLine("开始触发options.IsShowLayerBorder");


            if (options.IsShowLayerBorder)
            {
                body.SetResourceReference(Border.BorderBrushProperty, "Ay.Brush14");

                if (options.LayerBorderThickness.HasValue)
                {
                    body.BorderThickness = options.LayerBorderThickness.Value;
                }
                else
                {
                    body.BorderThickness = new Thickness(1);
                }
            }
            Console.WriteLine("开始触发options.LayerCornerRadius");
            if (options.LayerCornerRadius.HasValue)
            {
                body.CornerRadius = options.LayerCornerRadius.Value;
            }
            options.LayerBackground.Freeze();
            body.Background = options.LayerBackground;
            Console.WriteLine("开始触发options.ShowAnimateIndex");
            if (options.ShowAnimateIndex == 0)
            {
                ShowShadow(options);
                body.Visibility = Visibility.Visible;

                this.ContentRendered += (e, f) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 1)
            {
                var sc = new MyAniScale(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed   = 750;
                sc.ScaleXFrom     = 0;
                sc.ScaleYFrom     = 0;
                sc.ScaleXTo       = 1;
                sc.ScaleYTo       = 1;
                sc.EasingFunction = new System.Windows.Media.Animation.CubicEase {
                    EasingMode = EasingMode.EaseOut
                };
                sc.Animate().End();
                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 2)
            {
                var sc = new MyAniSlideInDown(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed   = 750;
                sc.FromDistance   = -4000;
                sc.OpacityNeed    = false;
                sc.EasingFunction = new System.Windows.Media.Animation.CubicEase {
                    EasingMode = EasingMode.EaseOut
                };
                sc.Animate().End();
                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 3)
            {
                var sc = new MyAniSlideInUp(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed   = 750;
                sc.FromDistance   = 4000;
                sc.OpacityNeed    = false;
                sc.EasingFunction = new System.Windows.Media.Animation.CubicEase {
                    EasingMode = EasingMode.EaseOut
                };
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 4)
            {
                var sc = new MyAniSlideInLeft(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed   = 750;
                sc.FromDistance   = -4000;
                sc.OpacityNeed    = false;
                sc.EasingFunction = new System.Windows.Media.Animation.CubicEase {
                    EasingMode = EasingMode.EaseOut
                };
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 5)
            {
                var sc = new MyAniSlideInRight(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed   = 750;
                sc.FromDistance   = 4000;
                sc.OpacityNeed    = false;
                sc.EasingFunction = new System.Windows.Media.Animation.CubicEase {
                    EasingMode = EasingMode.EaseOut
                };
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 6)
            {
                var sc = new MyAniBounceInDown(body, () =>
                {
                    ShowShadow(options);
                });
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 7)
            {
                var sc = new MyAniBounceInUp(body, () =>
                {
                    ShowShadow(options);
                });
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 8)
            {
                var sc = new MyAniBounceInLeft(body, () =>
                {
                    ShowShadow(options);
                });
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 9)
            {
                var sc = new MyAniBounceInRight(body, () =>
                {
                    ShowShadow(options);
                });
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 10)
            {
                var sc = new MyAniRotateIn(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed   = 750;
                sc.EasingFunction = new System.Windows.Media.Animation.CubicEase {
                    EasingMode = EasingMode.EaseOut
                };
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            else if (options.ShowAnimateIndex == 11)
            {
                var sc = new MyAniBounceIn(body, () =>
                {
                    ShowShadow(options);
                });
                sc.AnimateSpeed = 750;
                sc.Animate().End();

                sc.story.Completed += (c, d) =>
                {
                    userPresenter.Content = content;
                    if (action != null)
                    {
                        MyTime.SetTimeout(20, action);
                    }
                };
            }
            //else if (options.ShowAnimateIndex == 12)
            //{
            //    var sc = new MyAniSlideOutDown(body, () =>
            //    {
            //        ShowShadow(options);
            //    });
            //    sc.AnimateSpeed = 750;
            //    sc.Animate().End();

            //    sc.story.Completed += (c, d) =>
            //    {
            //        userPresenter.Content = content;
            //        if (action != null)
            //            MyTime.SetTimeout(20, action);
            //    };
            //}
            //else if (options.ShowAnimateIndex == 13)
            //{
            //    var sc = new MyAniSlideOutRight(body, () =>
            //    {
            //        ShowShadow(options);
            //    });
            //    sc.AnimateSpeed = 750;
            //    sc.Animate().End();

            //    sc.story.Completed += (c, d) =>
            //    {
            //        userPresenter.Content = content;
            //        if (action != null)
            //            MyTime.SetTimeout(20, action);
            //    };
            //}
            //else if (options.ShowAnimateIndex == 14)
            //{
            //    var sc = new MyAniSlideOutUp(body, () =>
            //    {
            //        ShowShadow(options);
            //    });
            //    sc.AnimateSpeed = 750;
            //    sc.Animate().End();

            //    sc.story.Completed += (c, d) =>
            //    {
            //        userPresenter.Content = content;
            //        if (action != null)
            //            MyTime.SetTimeout(20, action);
            //    };
            //}
            //else if (options.ShowAnimateIndex == 15)
            //{
            //    var sc = new MyAniSlideOutLeft(body, () =>
            //    {
            //        ShowShadow(options);
            //    });
            //    sc.AnimateSpeed = 750;
            //    sc.Animate().End();

            //    sc.story.Completed += (c, d) =>
            //    {
            //        userPresenter.Content = content;
            //        if (action != null)
            //            MyTime.SetTimeout(20, action);
            //    };
            //}
        }
Ejemplo n.º 13
0
        public static void ShowDialog(Window owner, object content, string title, MyLayerOptions options)
        {
            var messageBox = new MyLayer(owner, content, title, options, true);

            messageBox.Show();
        }
Ejemplo n.º 14
0
 public MyLayer(Window owner, object content, string title, MyLayerOptions options, bool isdialog, Action action)
 {
     InitializeComponent();
     //this.SourceInitialized += new EventHandler(win_SourceInitialized);
     SetMyLayerBase(owner, content, title, options, isdialog, action);
 }
Ejemplo n.º 15
0
 public MyLayer(Window owner, object content, string title, MyLayerOptions options, bool isdialog) : this(owner, content, title, options, isdialog, null)
 {
 }