private void Connect(ListViewEXT listView1, IListView info)
 {
     Method.Progress(listView1, () =>
     {
         Config.Camera.CameraName = Config.Admin.CameraName;
         if (!Config.Camera.IsOpen)
         {
             Config.Camera.Connect();
             Config.Camera.SetTriggerMode(Config.Admin.IsTrigger);
             Config.Admin.ExposureTime = Config.Camera.ExposureTime;
             Method.Invoke(listView1, () =>
             {
                 info.Image = new ImageEXT(new BitmapImage(new Uri("pack://application:,,,/DetectionPlus.Sign;component/Images/disconnect.png")),
                                           new BitmapImage(new Uri("pack://application:,,,/DetectionPlus.Sign;component/Images/disconnect_s.png")));
             });
         }
         else
         {
             Config.Camera.CameraStop();
             Config.Camera.CameraClose();
             Method.Invoke(listView1, () =>
             {
                 info.Image = new ImageEXT(new BitmapImage(new Uri("pack://application:,,,/DetectionPlus.Sign;component/Images/connect.png")),
                                           new BitmapImage(new Uri("pack://application:,,,/DetectionPlus.Sign;component/Images/connect_s.png")));
             });
         }
     });
 }
示例#2
0
 private void LoadControl(ListViewEXT listView1)
 {
     if (listView1.SelectedItem is IListView info)
     {
         if (Method.Child <Grid>(listView1, out Grid grid, "grid"))
         {
             switch (info.Text)
             {
             case "C1":
             case "C2":
             default:
                 break;
             }
         }
     }
 }
        private void LoadControl(ListViewEXT listView1)
        {
            if (listView1.SelectedItem is IListView info)
            {
                if (Method.Child <Grid>(listView1, out Grid grid, "grid"))
                {
                    grid.RowDefinitions.Clear();
                    grid.ColumnDefinitions.Clear();
                    switch (info.Text)
                    {
                    case "C1":
                    case "C2":
                    default:
                        AddControl(grid, 0, 0, info.Text);
                        break;

                    case "全部":
                        var count = CarameList.Count - 1;
                        if (count <= 4)
                        {
                            AddColumn(grid, 0, count);
                        }
                        else
                        {
                            var row = (count + 3) / 4;
                            AddRow(grid, row, count);
                        }
                        break;

                    case "设置":
                        Method.Show(listView1, new ShootSetWindow());
                        listView1.SelectedIndex = -1;
                        break;
                    }
                }
            }
        }
        protected virtual void Selectioned(ListViewEXT listView1, IListView info)
        {
            switch (info.Text)
            {
            case "刷新":
                Refresh(listView1);
                break;

            case "新加":
                AddViewModel.Info = new T();
                var add = AddWindow();
                if (add != null && Method.Show(listView1, add) == true)
                {
                    Added(AddViewModel.Info);
                    if (Method.Child(listView1, out DataGridEXT datagrid))
                    {
                        datagrid.SelectedIndex = List.Count - 1;
                    }
                }
                break;

            case "编辑":
                if (selectedItem is T infoEdit)
                {
                    Edit(listView1, infoEdit);
                }
                break;

            case "删除":
                if (selectedItem is T infoDel)
                {
                    Delete(listView1, infoDel);
                }
                break;
            }
            listView1.SelectedIndex = -1;
        }
 private void Save(ListViewEXT listView1)
 {
     if (Method.Find(listView1, out TextBoxEXT tbAddress, "tbAddress"))
     {
         if (Validation.GetHasError(tbAddress))
         {
             tbAddress.Focus();
             return;
         }
     }
     UpdateValue(nameof(Config.Admin.Result));
     UpdateValue(nameof(Config.Admin.Value));
     UpdateValue(nameof(Config.Admin.Address));
     UpdateValue(nameof(Config.Admin.ISuccess));
     UpdateValue(nameof(Config.Admin.IFail));
     if (UpdateValue(nameof(Config.Admin.Host)))
     {
         Method.Progress(listView1, () =>
         {
             Config.Manager.Update(Config.Admin);
         });
     }
     Method.Toast(listView1, "保存成功");
 }
示例#6
0
        protected override void Selectioned(ListViewEXT listView1, IListView item)
        {
            switch (item.Text)
            {
            case "查询":
                var query = new HistroyQueryWindow();
                if (Method.Show(listView1, query) == true)
                {
                    DateTime?start = null;
                    DateTime?end   = null;
                    if (ViewModelLocator.Default.HistroyQuery.IStart)
                    {
                        start = ViewModelLocator.Default.HistroyQuery.Start.Date;
                    }
                    if (ViewModelLocator.Default.HistroyQuery.IEnd)
                    {
                        end = ViewModelLocator.Default.HistroyQuery.End.AddDays(1).Date;
                    }

                    var find = $"1=1";
                    if (start != null)
                    {
                        find += $" and {nameof(HistroyInfo.CreateOn)}>=@start";
                    }
                    if (end != null)
                    {
                        find += $" and {nameof(HistroyInfo.CreateOn)}<@end";
                    }
                    {
                        find += $" order by {nameof(HistroyInfo.CreateOn)} desc";
                        Method.Progress(listView1, () =>
                        {
                            var list = server.Find <HistroyInfo>(find, new { start, end });
                            Method.BeginInvoke(listView1, () =>
                            {
                                base.List.Clear();
                                foreach (var temp in list)
                                {
                                    base.List.Add(temp);
                                }
                            });
                        });
                    }
                }
                break;

            case "清空":
                if (Method.Ask(listView1, $"确认清空所有记录:共 {List.Count} 项"))
                {
                    server.Delete(List.ToList());
                    foreach (var temp in List)
                    {
                        File.Delete(Path.Combine(Config.Images, $"{temp.Id}.bmp"));
                    }
                    List.Clear();
                }
                break;

            case "测试":
                if (SelectedItem is HistroyInfo infoTest)
                {
                    var file = Path.Combine(Config.Images, $"{infoTest.Id}.bmp");
                    if (File.Exists(file))
                    {
                        this.MessengerInstance.Send(new TestMessage(file)
                        {
                            Obj = listView1
                        });
                    }
                    else
                    {
                        Method.Toast(listView1, "图片不存在");
                    }
                }
                break;
            }
            base.Selectioned(listView1, item);
        }
示例#7
0
        private void LoadControl(ListViewEXT listView1)
        {
            if (listView1.SelectedItem is IListView info)
            {
                switch (info.Text)
                {
                case "检测功能":
                    if (Method.Child <Frame>(listView1, out Frame frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <FunctionPage>();
                    }
                    break;

                case "物件形状":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <ShapePage>();
                    }
                    break;

                case "背景差异":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <BackgroundPage>();
                    }
                    break;

                case "二值化调整":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <BinaryPage>();
                    }
                    break;

                case "框选物件":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <SelectionPage>();
                    }
                    break;

                case "框选边缘":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <WdgePage>();
                    }
                    break;

                case "检测项目":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <ProjectPage>();
                    }
                    break;

                case "基本功能":
                    if (Method.Child <Frame>(listView1, out frame, "frame"))
                    {
                        frame.Content = ViewlLocator.GetViewInstance <BasalPage>();
                    }
                    break;
                }
            }
        }