Ejemplo n.º 1
0
        private void onLoaded(object sender, RoutedEventArgs e)
        {
            #region 【测试SplitScreenPanel的RemoteCall调用】
            //Window testWin = new Window();
            //testWin.Width = 800;
            //testWin.Height = 600;
            //UserControl ctrl = (UserControl)RemoteCalls.Global.Call("CCTV2_VideoPlugin_CreateSplitPanel");
            //dynamic obj = new ExpandoObject();
            //obj.VideoId = "CCTV1_50BAD15900010301";
            //obj.Row = 0;
            //obj.Column = 0;
            //obj.RowSpan = 2;
            //obj.ColumnSpan = 2;
            //dynamic obj1 = new ExpandoObject();
            //obj1.VideoId = "CCTV1_50BAD15900020301";
            //obj1.Row = 0;
            //obj1.Column = 2;
            //obj1.RowSpan = 1;
            //obj1.ColumnSpan = 1;
            //dynamic obj2 = new ExpandoObject();
            //obj2.VideoId = "CCTV1_50BAD15900020302";
            //obj2.Row = 1;
            //obj2.Column = 2;
            //obj2.RowSpan = 1;
            //obj2.ColumnSpan = 1;
            //dynamic obj3 = new ExpandoObject();
            //obj3.VideoId = null;
            //obj3.Row = 2;
            //obj3.Column = 2;
            //obj3.RowSpan = 1;
            //obj3.ColumnSpan = 1;

            //RemoteCalls.Global.Call("CCTV2_VideoPlugin_PlayMultiVideos", ctrl, 3, new List<dynamic>() { obj, obj1, obj2, obj3 });
            //testWin.Content = ctrl;
            //ctrl.Background = Brushes.Black;
            //testWin.Show();
            //testWin.Closed += (s, ie) =>
            //{
            //    RemoteCalls.Global.Call("CCTV2_VideoPlugin_StopMultiVideos", ctrl);
            //};
            #endregion 【测试SplitScreenPanel的RemoteCall调用】

            RadWindow win = this.FindVisualParent <RadWindow>();
            if (win != null)
            {
                WindowStatusInfo info = WindowStatusAutoSave.LoadData();
                if (info != null)
                {
                    info.Left   = CheckLimited(info.Left, 0, SystemParameters.PrimaryScreenWidth - 100);
                    info.Top    = CheckLimited(info.Top, 0, SystemParameters.PrimaryScreenHeight - 100);
                    info.Width  = CheckLimited(info.Width, AppConstants.WindowMinWidth, SystemParameters.PrimaryScreenWidth);
                    info.Height = CheckLimited(info.Height, AppConstants.WindowMinHeight, SystemParameters.PrimaryScreenHeight);

                    win.BeginInit();
                    if (info.WindowState == WindowState.Normal)
                    {
                        win.Left   = info.Left;
                        win.Top    = info.Top;
                        win.Width  = info.Width;
                        win.Height = info.Height;
                    }
                    win.WindowState = info.WindowState;
                    win.EndInit();
                }
                win.Closed += Win_Closed;
                ViewModel.SettingModel.WindowState = win.WindowState;
                win.SetBinding(RadWindow.WindowStateProperty, BindingHelper.CreateBinding(this, BindingMode.TwoWay, "DataContext.SettingModel.WindowState"));
            }
        }