领胜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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<UserControl x:Class="Bro.Common.ImageCanvas.ImageCanvas"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:xcad="http://schemas.xceed.com/wpf/xaml/avalondock"
             xmlns:local="clr-namespace:Bro.Common.ImageCanvas"
             xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
             FocusManager.FocusedElement="{Binding ElementName=ZoomAndPanControl}"
             mc:Ignorable="d" 
             d:DesignHeight="600" d:DesignWidth="800">
    <UserControl.Resources>
        <Style TargetType="iconPacks:PackIconMaterial">
            <Setter Property="Width" Value="20"/>
            <Setter Property="Height" Value="20"/>
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
        </Style>
        <Style TargetType="iconPacks:PackIconModern">
            <Setter Property="Width" Value="20"/>
            <Setter Property="Height" Value="20"/>
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
        </Style>
        <Style TargetType="Button">
            <Setter Property="Width" Value="20"/>
            <Setter Property="Height" Value="20"/>
        </Style>
        <Style TargetType="ToolBar">
            <Setter Property="Width" Value="30"/>
        </Style>
    </UserControl.Resources>
    <Grid>
        <xcad:DockingManager x:Name="_dockingManager"
                           AllowMixedOrientation="True">
            <xcad:DockingManager.DocumentHeaderTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="{Binding IconSource}"
                     Margin="0,0,4,0" />
                        <TextBlock Text="{Binding Title}" />
                    </StackPanel>
                </DataTemplate>
            </xcad:DockingManager.DocumentHeaderTemplate>
            <xcad:LayoutRoot x:Name="_layoutRoot">
                <xcad:LayoutPanel Orientation="Horizontal">
                    <!--<xcad:LayoutAnchorablePane DockWidth="80">
                        <xcad:LayoutAnchorable ContentId="Tools"
                                     Title="Tools"
                                     CanHide="True"
                                     CanClose="False"
                                     AutoHideWidth="50">
                        </xcad:LayoutAnchorable>
                    </xcad:LayoutAnchorablePane>-->
                    <xcad:LayoutDocumentPane DockWidth="*" ShowHeader="False">
                        <xcad:LayoutDocument>
                            <DockPanel>
                                <StatusBar DockPanel.Dock="Bottom" Background="Transparent">
                                    <TextBlock Margin="10,3,5,0" Foreground="Black" VerticalAlignment="Bottom">
                                        <Run Text="{Binding ElementName=ZoomAndPanControl, Path=MousePosition.X, StringFormat=X: {0:0  }}"/>
                                        <Run Text="{Binding ElementName=ZoomAndPanControl, Path=MousePosition.Y, StringFormat=Y: {0:0  }}"/>
                                        <Run Text="{Binding ElementName=actualContent, Path=SelectedColor,Mode=OneWay, StringFormat=Color: {0}}"/>
                                    </TextBlock>
                                    <TextBlock x:Name="txtInfo"  Margin="0,3,5,0" Foreground="Black" VerticalAlignment="Bottom"/>
                                </StatusBar>
                                <ToolBarTray DockPanel.Dock="Left" Orientation="Vertical" Margin="0,15,3,0" x:Name="toolBarTray">
                                    <ToolBar BandIndex="0" ToolBarTray.IsLocked="True">
                                        <Button ToolTip="Open Image File" x:Name="btnOpenFile" Click="btnOpenFile_Click">
                                            <iconPacks:PackIconModern Kind="FolderOpen"/>
                                        </Button>
                                        <Button ToolTip="Save Image" x:Name="btnSaveImage" Click="btnSaveImage_Click">
                                            <iconPacks:PackIconMaterial Kind="ContentSave"/>
                                        </Button>
                                        <Button ToolTip="Save Image With Results" x:Name="btnSaveImageResults" Click="btnSaveImageResults_Click">
                                            <iconPacks:PackIconMaterial Kind="ContentSaveSettings" />
                                        </Button>
                                        <Separator/>
                                        <Button ToolTip="Zoom To Fit Screen" x:Name="btnFitScreen" Click="btnFitScreen_Click">
                                            <iconPacks:PackIconModern Kind="ImagePortrait" />
                                        </Button>
                                        <Button ToolTip="Zoom To Origin Image" x:Name="btnOriginImage" Click="btnOriginImage_Click">
                                            <iconPacks:PackIconModern Kind="FullscreenBox" />
                                        </Button>
                                    </ToolBar>
                                </ToolBarTray>
                                <local:ZoomAndPanScrollViewer x:Name="ZoomAndPanControl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                                           Background="#AACCCCCC"
                                           MinimumZoomType="MinimumZoom"
                                           ZoomAndPanInitialPosition="OneHundredPercentCentered">
                                    <Grid x:Name="theGrid">
                                        <local:ImageColorPicker x:Name="actualContent"
                                        Scale="{Binding ElementName=ZoomAndPanControl, Path=ViewportZoom}"
                                        Source="Colors.jpg" />
                                        <!--<local:CenteredCrossHairCanvas HorizontalAlignment="Stretch"
                                               VerticalAlignment="Stretch"
                                               StrokeThickness="2"
                                               Opacity=".5"
                                               Scale="{Binding ElementName=ZoomAndPanControl, Path=ViewportZoom, Mode=OneWay}"
                                               Show="{Binding ElementName=CrosshairsCheckBox, Path=IsChecked}"
                                               StrokeBrush="Green" />-->
                                        <local:ObserableCollectionCanvas x:Name="visualCanvas" 
                                                          HorizontalAlignment="Stretch"
                                                          VerticalAlignment="Stretch"
                                                          Scale="{Binding ElementName=ZoomAndPanControl, Path=ViewportZoom, Mode=TwoWay}" />
                                    </Grid>
                                </local:ZoomAndPanScrollViewer>
 
                            </DockPanel>
                        </xcad:LayoutDocument>
                    </xcad:LayoutDocumentPane>
                </xcad:LayoutPanel>
            </xcad:LayoutRoot>
        </xcad:DockingManager>
 
    </Grid>
</UserControl>