private void OnCameraEdit(Camera obj)
        {
            var wnd = new CameraEditWnd(obj);

            wnd.OnClose += () => {
                Query();
                gridSub.Children.Clear();
                gridSub.Visibility  = Visibility.Collapsed;
                gridMain.Visibility = Visibility.Visible;
            };

            gridSub.Children.Clear();
            gridSub.Children.Add(wnd);
            gridMain.Visibility = Visibility.Collapsed;
            gridSub.Visibility  = Visibility.Visible;
        }
        private void OnButtonAddCameraClick(object sender, RoutedEventArgs e)
        {
            var camera = new Camera();
            var wnd    = new CameraEditWnd(camera);

            wnd.OnClose += () => {
                Query();
                gridSub.Children.Clear();
                gridSub.Visibility  = Visibility.Collapsed;
                gridMain.Visibility = Visibility.Visible;
            };

            gridSub.Children.Clear();
            gridSub.Children.Add(wnd);
            gridMain.Visibility = Visibility.Collapsed;
            gridSub.Visibility  = Visibility.Visible;
        }
        private void OnItemButtonEditClick(object sender, RoutedEventArgs e)
        {
            var btn    = sender as Button;
            var camera = btn.DataContext as CameraUI;

            if (null == camera)
            {
                return;
            }

            var wnd = new CameraEditWnd(camera.Camera);

            wnd.OnClose += () => {
                Query();
                gridSub.Children.Clear();
                gridSub.Visibility  = Visibility.Collapsed;
                gridMain.Visibility = Visibility.Visible;
            };

            gridSub.Children.Clear();
            gridSub.Children.Add(wnd);
            gridMain.Visibility = Visibility.Collapsed;
            gridSub.Visibility  = Visibility.Visible;
        }