领胜LDS 键盘AOI检测项目
xcd
2020-06-24 d6c577e17ee7bb5331dd51d803f9b42441b0f0e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using Bro.Common.ImageCanvas;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Bro.UI.ViewModel;
using Xceed.Wpf.AvalonDock;
 
namespace Bro.UI
{
    /// <summary>
    /// RunningView.xaml 的交互逻辑
    /// </summary>
    public partial class RunningView : UserControl
    {
        RunningViewModel VM = null;
 
        public RunningView()
        {
            InitializeComponent();
 
            this.Loaded += (s, e) =>
              {
                  VM = this.DataContext as RunningViewModel;
                  CreateLayoutDocument();
 
                  VM.Images.CollectionChanged += Images_CollectionChanged;
              };
        }
 
        private void Images_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            CreateLayoutDocument();
        }
 
        private void CreateLayoutDocument()
        {
            layOutPanes.Children.Clear();
 
            VM.Images.ToList().ForEach(imgModel =>
            {
                Xceed.Wpf.AvalonDock.Layout.LayoutDocumentPane pane = new Xceed.Wpf.AvalonDock.Layout.LayoutDocumentPane();
                Xceed.Wpf.AvalonDock.Layout.LayoutDocument doc = new Xceed.Wpf.AvalonDock.Layout.LayoutDocument();
                doc.ContentId = doc.Title = imgModel.CameraName;
                doc.CanClose = false;
                doc.CanFloat = doc.CanMove = true;
 
                ImageCanvas imgCanvas = new ImageCanvas();
                imgCanvas.DataContext = imgModel;
                Binding imgBind = new Binding("Image");
                imgBind.Mode = BindingMode.OneWay;
                imgCanvas.SetBinding(ImageCanvas.ImageSourceProperty, imgBind);
                Binding shapeBind = new Binding("Shapes");
                shapeBind.Mode = BindingMode.OneWay;
                imgCanvas.SetBinding(ImageCanvas.ShapeListProperty, shapeBind);
 
                doc.Content = imgCanvas;
                pane.Children.Add(doc);
                layOutPanes.Children.Add(pane);
            });
        }
    }
}