Sfoglia il codice sorgente

UI

tags/录制修改前
zhangxueyang 4 anni fa
parent
commit
f209fd72e3
50 ha cambiato i file con 1045 aggiunte e 18 eliminazioni
  1. 20
    0
      Common/Common.csproj
  2. 6
    0
      Common/packages.config
  3. 128
    0
      Common/system/CameraHelper.cs
  4. 26
    0
      XHWK.WKTool/CountdownWindow.xaml
  5. 67
    0
      XHWK.WKTool/CountdownWindow.xaml.cs
  6. 6
    2
      XHWK.WKTool/CreateAMicroLessonWindow.xaml.cs
  7. 69
    0
      XHWK.WKTool/FileDirectoryWindow.xaml
  8. 48
    0
      XHWK.WKTool/FileDirectoryWindow.xaml.cs
  9. BIN
      XHWK.WKTool/Images/Toobar0.png
  10. BIN
      XHWK.WKTool/Images/Toobar1.png
  11. BIN
      XHWK.WKTool/Images/Toobar10.png
  12. BIN
      XHWK.WKTool/Images/Toobar11.png
  13. BIN
      XHWK.WKTool/Images/Toobar12.png
  14. BIN
      XHWK.WKTool/Images/Toobar13.png
  15. BIN
      XHWK.WKTool/Images/Toobar14.png
  16. BIN
      XHWK.WKTool/Images/Toobar15.png
  17. BIN
      XHWK.WKTool/Images/Toobar16.png
  18. BIN
      XHWK.WKTool/Images/Toobar17.png
  19. BIN
      XHWK.WKTool/Images/Toobar18.png
  20. BIN
      XHWK.WKTool/Images/Toobar19.png
  21. BIN
      XHWK.WKTool/Images/Toobar2.png
  22. BIN
      XHWK.WKTool/Images/Toobar20.png
  23. BIN
      XHWK.WKTool/Images/Toobar21.png
  24. BIN
      XHWK.WKTool/Images/Toobar22.png
  25. BIN
      XHWK.WKTool/Images/Toobar23.png
  26. BIN
      XHWK.WKTool/Images/Toobar24.png
  27. BIN
      XHWK.WKTool/Images/Toobar25.png
  28. BIN
      XHWK.WKTool/Images/Toobar26.png
  29. BIN
      XHWK.WKTool/Images/Toobar3.png
  30. BIN
      XHWK.WKTool/Images/Toobar4.png
  31. BIN
      XHWK.WKTool/Images/Toobar5.png
  32. BIN
      XHWK.WKTool/Images/Toobar6.png
  33. BIN
      XHWK.WKTool/Images/Toobar7.png
  34. BIN
      XHWK.WKTool/Images/Toobar8.png
  35. BIN
      XHWK.WKTool/Images/Toobar9.png
  36. BIN
      XHWK.WKTool/Images/countdown.gif
  37. BIN
      XHWK.WKTool/Images/countdown_1.png
  38. BIN
      XHWK.WKTool/Images/countdown_2.png
  39. BIN
      XHWK.WKTool/Images/countdown_3.png
  40. 84
    0
      XHWK.WKTool/LoginWindow.xaml
  41. 45
    0
      XHWK.WKTool/LoginWindow.xaml.cs
  42. 77
    0
      XHWK.WKTool/ScreenRecordingToolbarWindow.xaml
  43. 27
    0
      XHWK.WKTool/ScreenRecordingToolbarWindow.xaml.cs
  44. 22
    0
      XHWK.WKTool/UCCamera.xaml
  45. 45
    0
      XHWK.WKTool/UCCamera.xaml.cs
  46. 103
    13
      XHWK.WKTool/XHMicroLessonSystemWindow.xaml
  47. 127
    3
      XHWK.WKTool/XHMicroLessonSystemWindow.xaml.cs
  48. 135
    0
      XHWK.WKTool/XHWK.WKTool.csproj
  49. 10
    0
      XHWK.WKTool/packages.config
  50. BIN
      dl/WindowsFormsIntegration.dll

+ 20
- 0
Common/Common.csproj Vedi File

@@ -31,6 +31,24 @@
31 31
     <WarningLevel>4</WarningLevel>
32 32
   </PropertyGroup>
33 33
   <ItemGroup>
34
+    <Reference Include="AForge, Version=2.2.5.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb, processorArchitecture=MSIL">
35
+      <HintPath>..\packages\AForge.2.2.5\lib\AForge.dll</HintPath>
36
+    </Reference>
37
+    <Reference Include="AForge.Controls, Version=2.2.5.0, Culture=neutral, PublicKeyToken=a8ac264d1dc6b9d9, processorArchitecture=MSIL">
38
+      <HintPath>..\packages\AForge.Controls.2.2.5\lib\AForge.Controls.dll</HintPath>
39
+    </Reference>
40
+    <Reference Include="AForge.Imaging, Version=2.2.5.0, Culture=neutral, PublicKeyToken=ba8ddea9676ca48b, processorArchitecture=MSIL">
41
+      <HintPath>..\packages\AForge.Imaging.2.2.5\lib\AForge.Imaging.dll</HintPath>
42
+    </Reference>
43
+    <Reference Include="AForge.Math, Version=2.2.5.0, Culture=neutral, PublicKeyToken=abba2e25397ee8c9, processorArchitecture=MSIL">
44
+      <HintPath>..\packages\AForge.Math.2.2.5\lib\AForge.Math.dll</HintPath>
45
+    </Reference>
46
+    <Reference Include="AForge.Video, Version=2.2.5.0, Culture=neutral, PublicKeyToken=cbfb6e07d173c401, processorArchitecture=MSIL">
47
+      <HintPath>..\packages\AForge.Video.2.2.5\lib\AForge.Video.dll</HintPath>
48
+    </Reference>
49
+    <Reference Include="AForge.Video.DirectShow, Version=2.2.5.0, Culture=neutral, PublicKeyToken=61ea4348d43881b7, processorArchitecture=MSIL">
50
+      <HintPath>..\packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll</HintPath>
51
+    </Reference>
34 52
     <Reference Include="ICSharpCode.SharpZipLib">
35 53
       <HintPath>dlls\ICSharpCode.SharpZipLib.dll</HintPath>
36 54
     </Reference>
@@ -89,9 +107,11 @@
89 107
     <Reference Include="VisioForge.Types, Version=12.0.56.0, Culture=neutral, PublicKeyToken=722de1c1c0a7f49e, processorArchitecture=MSIL">
90 108
       <HintPath>..\packages\VisioForge.DotNet.Core.TRIAL.12.0.56\lib\net45\VisioForge.Types.dll</HintPath>
91 109
     </Reference>
110
+    <Reference Include="WindowsFormsIntegration" />
92 111
   </ItemGroup>
93 112
   <ItemGroup>
94 113
     <Compile Include="Model\DownloadInfoModel.cs" />
114
+    <Compile Include="system\CameraHelper.cs" />
95 115
     <Compile Include="system\CLeopardZip.cs" />
96 116
     <Compile Include="system\DataConvertCommon.cs" />
97 117
     <Compile Include="system\DownloadManager.cs" />

+ 6
- 0
Common/packages.config Vedi File

@@ -1,4 +1,10 @@
1 1
 <?xml version="1.0" encoding="utf-8"?>
2 2
 <packages>
3
+  <package id="AForge" version="2.2.5" targetFramework="net452" />
4
+  <package id="AForge.Controls" version="2.2.5" targetFramework="net452" />
5
+  <package id="AForge.Imaging" version="2.2.5" targetFramework="net452" />
6
+  <package id="AForge.Math" version="2.2.5" targetFramework="net452" />
7
+  <package id="AForge.Video" version="2.2.5" targetFramework="net452" />
8
+  <package id="AForge.Video.DirectShow" version="2.2.5" targetFramework="net452" />
3 9
   <package id="VisioForge.DotNet.Core.TRIAL" version="12.0.56" targetFramework="net452" />
4 10
 </packages>

+ 128
- 0
Common/system/CameraHelper.cs Vedi File

@@ -0,0 +1,128 @@
1
+using System;
2
+using System.Windows;
3
+using System.IO;
4
+using System.Drawing;
5
+using System.Drawing.Imaging;
6
+using AForge.Video.DirectShow;
7
+using AForge.Controls;
8
+
9
+
10
+namespace Common.system
11
+{
12
+    public static class CameraHelper
13
+    {
14
+        private static FilterInfoCollection _cameraDevices;
15
+        private static VideoCaptureDevice div = null;
16
+        private static VideoSourcePlayer sourcePlayer = new VideoSourcePlayer();
17
+        private static bool _isDisplay = false;
18
+        //指示_isDisplay设置为true后,是否设置了其他的sourcePlayer,若未设置则_isDisplay重设为false
19
+        private static bool isSet = false;
20
+
21
+        /// <summary>
22
+        /// 获取或设置摄像头设备,无设备为null
23
+        /// </summary>
24
+        public static FilterInfoCollection CameraDevices
25
+        {
26
+            get
27
+            {
28
+                return _cameraDevices;
29
+            }
30
+            set
31
+            {
32
+                _cameraDevices = value;
33
+            }
34
+        }
35
+        /// <summary>
36
+        /// 指示是否显示摄像头视频画面
37
+        /// 默认false
38
+        /// </summary>
39
+        public static bool IsDisplay
40
+        {
41
+            get { return _isDisplay; }
42
+            set { _isDisplay = value; }
43
+        }
44
+        /// <summary>
45
+        /// 获取或设置VideoSourcePlayer控件,
46
+        /// 只有当IsDisplay设置为true时,该属性才可以设置成功
47
+        /// </summary>
48
+        public static VideoSourcePlayer SourcePlayer
49
+        {
50
+            get { return sourcePlayer; }
51
+            set
52
+            {
53
+                if (_isDisplay)
54
+                {
55
+                    sourcePlayer = value;
56
+                    isSet = true;
57
+                }
58
+
59
+            }
60
+        }
61
+        /// <summary>
62
+        /// 更新摄像头设备信息
63
+        /// </summary>
64
+        public static void UpdateCameraDevices()
65
+        {
66
+            _cameraDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
67
+        }
68
+        /// <summary>
69
+        /// 设置使用的摄像头设备
70
+        /// </summary>
71
+        /// <param name="index">设备在CameraDevices中的索引</param>
72
+        /// <returns><see cref="bool"/></returns>
73
+        public static bool SetCameraDevice(int index)
74
+        {
75
+            if (!isSet) _isDisplay = false;
76
+            //无设备,返回false
77
+            if (_cameraDevices.Count <= 0 || index < 0) return false;
78
+            if (index > _cameraDevices.Count - 1) return false;
79
+            // 设定初始视频设备
80
+            div = new VideoCaptureDevice(_cameraDevices[index].MonikerString);
81
+            sourcePlayer.VideoSource = div;
82
+            div.Start();
83
+            sourcePlayer.Start();
84
+            return true;
85
+        }
86
+        /// <summary>
87
+        /// 截取一帧图像并保存
88
+        /// </summary>
89
+        /// <param name="filePath">图像保存路径</param>
90
+        /// <param name="fileName">保存的图像文件名</param>
91
+        /// <returns>如果保存成功,则返回完整路径,否则为 null</returns>
92
+        public static string CaptureImage(string filePath, string fileName = null)
93
+        {
94
+            if (sourcePlayer.VideoSource == null) return null;
95
+            if (!Directory.Exists(filePath))
96
+            {
97
+                Directory.CreateDirectory(filePath);
98
+            }
99
+            try
100
+            {
101
+                Image bitmap = sourcePlayer.GetCurrentVideoFrame();
102
+                if (fileName == null) fileName = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
103
+                string fullPath = Path.Combine(filePath, fileName + "-cap.jpg");
104
+                bitmap.Save(fullPath, ImageFormat.Jpeg);
105
+                bitmap.Dispose();
106
+                return fullPath;
107
+            }
108
+            catch (Exception e)
109
+            {
110
+                System.Windows.Forms.MessageBox.Show(e.Message.ToString());
111
+                return null;
112
+            }
113
+        }
114
+        /// <summary>
115
+        /// 关闭摄像头设备
116
+        /// </summary>
117
+        public static void CloseDevice()
118
+        {
119
+            if (div != null && div.IsRunning)
120
+            {
121
+                sourcePlayer.Stop();
122
+                div.SignalToStop();
123
+                div = null;
124
+                _cameraDevices = null;
125
+            }
126
+        }
127
+    }
128
+}

+ 26
- 0
XHWK.WKTool/CountdownWindow.xaml Vedi File

@@ -0,0 +1,26 @@
1
+<Window x:Class="XHWK.WKTool.CountdownWindow"
2
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6
+        xmlns:local="clr-namespace:XHWK.WKTool"
7
+        xmlns:gifLib="http://wpfanimatedgif.codeplex.com" ContentRendered="Window_ContentRendered"
8
+        mc:Ignorable="d"
9
+        Title="CountdownWindow" Height="450" Width="800"  AllowsTransparency="True"
10
+    ShowInTaskbar="False"
11
+    WindowStartupLocation="CenterOwner" WindowState="Maximized"
12
+    WindowStyle="None">
13
+    <Window.Background>
14
+        <SolidColorBrush Opacity="0.96" Color="#292C2E" />
15
+    </Window.Background>
16
+    <Grid>
17
+        <Image
18
+                    Width="600"
19
+                    Height="600"
20
+                    gifLib:ImageBehavior.AnimatedSource=".\Images\countdown.gif" MediaElement.MediaEnded="Image_MediaEnded"/>
21
+        <!--<Image x:Name="imgLoding"
22
+                    Width="300"
23
+                    Height="300"
24
+                    Source=".\Images\countdown_3.png" />-->
25
+    </Grid>
26
+</Window>

+ 67
- 0
XHWK.WKTool/CountdownWindow.xaml.cs Vedi File

@@ -0,0 +1,67 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.Threading;
6
+using System.Threading.Tasks;
7
+using System.Windows;
8
+using System.Windows.Controls;
9
+using System.Windows.Data;
10
+using System.Windows.Documents;
11
+using System.Windows.Input;
12
+using System.Windows.Media;
13
+using System.Windows.Media.Imaging;
14
+using System.Windows.Shapes;
15
+
16
+namespace XHWK.WKTool
17
+{
18
+    /// <summary>
19
+    /// CountdownWindow.xaml 的交互逻辑
20
+    /// </summary>
21
+    public partial class CountdownWindow : Window
22
+    {
23
+        public CountdownWindow()
24
+        {
25
+            InitializeComponent();
26
+            
27
+        }
28
+        public void Initialize()
29
+        {
30
+            //Thread.Sleep(1200);
31
+            //this.Hide();
32
+        }
33
+        /// <summary>
34
+        /// 跳转页面
35
+        /// </summary>
36
+        /// <param name="sender"></param>
37
+        /// <param name="e"></param>
38
+        private void Window_ContentRendered(object sender, EventArgs e)
39
+        {
40
+            ScreenRecordingToolbarWindow win = new ScreenRecordingToolbarWindow();
41
+            win.Topmost = true;
42
+            win.Show();
43
+            //显示在右下角
44
+            double xpos = this.Left + this.Width - win.Width + 180;
45
+            double ypos = this.Top + this.Height - win.Height - 60;
46
+
47
+
48
+            win.Left = xpos;
49
+            win.Top = ypos;
50
+            this.Hide();
51
+
52
+            //Thread.Sleep(800);
53
+            ////imgLoding.Source= new BitmapImage(new Uri("pack://application:,,/Images/countdown_2.png"));
54
+            ////Thread.Sleep(300);
55
+            ////imgLoding.Source = new BitmapImage(new Uri("pack://application:,,/Images/countdown_1.png"));
56
+            ////Thread.Sleep(300);
57
+            //this.Hide();
58
+
59
+            //Initialize();
60
+        }
61
+
62
+        private void Image_MediaEnded(object sender, RoutedEventArgs e)
63
+        {
64
+            ((MediaElement)sender).Position = ((MediaElement)sender).Position.Add(TimeSpan.FromMilliseconds(10000));
65
+        }
66
+    }
67
+}

+ 6
- 2
XHWK.WKTool/CreateAMicroLessonWindow.xaml.cs Vedi File

@@ -17,7 +17,7 @@ using System.Windows.Shapes;
17 17
 namespace XHWK.WKTool
18 18
 {
19 19
     /// <summary>
20
-    /// MainWindow.xaml 的交互逻辑
20
+    /// 创建微课
21 21
     /// </summary>
22 22
     public partial class CreateAMicroLessonWindow : Window 
23 23
     {
@@ -26,6 +26,9 @@ namespace XHWK.WKTool
26 26
         private DialogResult result;
27 27
         #endregion
28 28
 
29
+        /// <summary>
30
+        /// 创建微课
31
+        /// </summary>
29 32
         public CreateAMicroLessonWindow()
30 33
         {
31 34
             InitializeComponent();
@@ -72,7 +75,8 @@ namespace XHWK.WKTool
72 75
         {
73 76
             XHMicroLessonSystemWindow win = new XHMicroLessonSystemWindow();
74 77
             //win.Topmost = true;
75
-            win.Show();
78
+            win.ShowDialog();
79
+            this.Close();
76 80
         }
77 81
         /// <summary>
78 82
         /// 窗体移动

+ 69
- 0
XHWK.WKTool/FileDirectoryWindow.xaml Vedi File

@@ -0,0 +1,69 @@
1
+<Window x:Class="XHWK.WKTool.FileDirectoryWindow"
2
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6
+        xmlns:local="clr-namespace:XHWK.WKTool"
7
+        mc:Ignorable="d"
8
+        Title="FileDirectoryWindow" Height="729" Width="1030" AllowsTransparency="True" 
9
+    ShowInTaskbar="False"
10
+    WindowStartupLocation="CenterOwner"
11
+    WindowStyle="None">
12
+    <Viewbox>
13
+        <Grid Height="729" Width="1030" >
14
+            <!--分4行-->
15
+            <Grid.RowDefinitions>
16
+                <RowDefinition Height="45"/>
17
+                <RowDefinition Height="*"/>
18
+                <RowDefinition Height="80"/>
19
+            </Grid.RowDefinitions>
20
+            <!--第一行 标题-->
21
+            <Border Grid.Row="0" Background="#2D8CF0">
22
+                <Grid  MouseLeftButtonDown="Window_MouseLeftButtonDown">
23
+                    <TextBlock Text="文件目录" Foreground="#FFFFFF" FontSize="16" Padding="10,13,0,0"/>
24
+                    <Button Grid.Row="0" x:Name="btnDown" Content="×" Foreground="#FFFFFF" FontSize="25" Padding="10,0,10,0" HorizontalAlignment="Right" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="btnDown_Click"/>
25
+                </Grid>
26
+            </Border>
27
+           <!--第二行 内容-->
28
+            <Grid>
29
+                
30
+            </Grid>
31
+            <!--第三行 删除 上传 按钮-->
32
+            <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Center">
33
+                <Button x:Name="btnDelete" Content="删除" FontSize="18" Foreground="#FFFFFF" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Width="115" Height="45" Margin="0,0,30,0">
34
+                    <Button.Template>
35
+                        <ControlTemplate TargetType="{x:Type Button}">
36
+                            <Border
37
+                                BorderBrush="{TemplateBinding Control.BorderBrush}"
38
+                                BorderThickness="1"
39
+                                CornerRadius="2">
40
+                                <Border.Background>#F0582B</Border.Background>
41
+                                <ContentPresenter
42
+                                    HorizontalAlignment="Center"
43
+                                    VerticalAlignment="Center"
44
+                                    Content="{TemplateBinding ContentControl.Content}" />
45
+                            </Border>
46
+                        </ControlTemplate>
47
+                    </Button.Template>
48
+                </Button>
49
+                <Button x:Name="btnUpload" Content="上传" FontSize="18" Foreground="#FFFFFF" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Width="115" Height="45" Margin="30,0,0,0">
50
+                    <Button.Template>
51
+                        <ControlTemplate TargetType="{x:Type Button}">
52
+                            <Border
53
+                                BorderBrush="{TemplateBinding Control.BorderBrush}"
54
+                                BorderThickness="1"
55
+                                CornerRadius="2">
56
+                                <Border.Background>#2D8CF0</Border.Background>
57
+                                <ContentPresenter
58
+                                    HorizontalAlignment="Center"
59
+                                    VerticalAlignment="Center"
60
+                                    Content="{TemplateBinding ContentControl.Content}" />
61
+                            </Border>
62
+                        </ControlTemplate>
63
+                    </Button.Template>
64
+                </Button>
65
+            </StackPanel>
66
+            
67
+        </Grid>
68
+    </Viewbox>
69
+</Window>

+ 48
- 0
XHWK.WKTool/FileDirectoryWindow.xaml.cs Vedi File

@@ -0,0 +1,48 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.Threading.Tasks;
6
+using System.Windows;
7
+using System.Windows.Controls;
8
+using System.Windows.Data;
9
+using System.Windows.Documents;
10
+using System.Windows.Input;
11
+using System.Windows.Media;
12
+using System.Windows.Media.Imaging;
13
+using System.Windows.Shapes;
14
+
15
+namespace XHWK.WKTool
16
+{
17
+    /// <summary>
18
+    /// 文件目录
19
+    /// </summary>
20
+    public partial class FileDirectoryWindow : Window
21
+    {
22
+        /// <summary>
23
+        /// 文件目录
24
+        /// </summary>
25
+        public FileDirectoryWindow()
26
+        {
27
+            InitializeComponent();
28
+        }
29
+        /// <summary>
30
+        /// 关闭
31
+        /// </summary>
32
+        /// <param name="sender"></param>
33
+        /// <param name="e"></param>
34
+        private void btnDown_Click(object sender, RoutedEventArgs e)
35
+        {
36
+            this.Hide();
37
+        }
38
+        /// <summary>
39
+        /// 窗口移动
40
+        /// </summary>
41
+        /// <param name="sender"></param>
42
+        /// <param name="e"></param>
43
+        private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
44
+        {
45
+            DragMove();
46
+        }
47
+    }
48
+}

BIN
XHWK.WKTool/Images/Toobar0.png Vedi File


BIN
XHWK.WKTool/Images/Toobar1.png Vedi File


BIN
XHWK.WKTool/Images/Toobar10.png Vedi File


BIN
XHWK.WKTool/Images/Toobar11.png Vedi File


BIN
XHWK.WKTool/Images/Toobar12.png Vedi File


BIN
XHWK.WKTool/Images/Toobar13.png Vedi File


BIN
XHWK.WKTool/Images/Toobar14.png Vedi File


BIN
XHWK.WKTool/Images/Toobar15.png Vedi File


BIN
XHWK.WKTool/Images/Toobar16.png Vedi File


BIN
XHWK.WKTool/Images/Toobar17.png Vedi File


BIN
XHWK.WKTool/Images/Toobar18.png Vedi File


BIN
XHWK.WKTool/Images/Toobar19.png Vedi File


BIN
XHWK.WKTool/Images/Toobar2.png Vedi File


BIN
XHWK.WKTool/Images/Toobar20.png Vedi File


BIN
XHWK.WKTool/Images/Toobar21.png Vedi File


BIN
XHWK.WKTool/Images/Toobar22.png Vedi File


BIN
XHWK.WKTool/Images/Toobar23.png Vedi File


BIN
XHWK.WKTool/Images/Toobar24.png Vedi File


BIN
XHWK.WKTool/Images/Toobar25.png Vedi File


BIN
XHWK.WKTool/Images/Toobar26.png Vedi File


BIN
XHWK.WKTool/Images/Toobar3.png Vedi File


BIN
XHWK.WKTool/Images/Toobar4.png Vedi File


BIN
XHWK.WKTool/Images/Toobar5.png Vedi File


BIN
XHWK.WKTool/Images/Toobar6.png Vedi File


BIN
XHWK.WKTool/Images/Toobar7.png Vedi File


BIN
XHWK.WKTool/Images/Toobar8.png Vedi File


BIN
XHWK.WKTool/Images/Toobar9.png Vedi File


BIN
XHWK.WKTool/Images/countdown.gif Vedi File


BIN
XHWK.WKTool/Images/countdown_1.png Vedi File


BIN
XHWK.WKTool/Images/countdown_2.png Vedi File


BIN
XHWK.WKTool/Images/countdown_3.png Vedi File


+ 84
- 0
XHWK.WKTool/LoginWindow.xaml Vedi File

@@ -0,0 +1,84 @@
1
+<Window x:Class="XHWK.WKTool.LoginWindow"
2
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6
+        xmlns:local="clr-namespace:XHWK.WKTool"
7
+        mc:Ignorable="d"
8
+        Title="LoginWindow" Height="341" Width="454"   AllowsTransparency="True"
9
+    ShowInTaskbar="False"
10
+    WindowStartupLocation="CenterOwner"
11
+    WindowStyle="None">
12
+    <Viewbox>
13
+        <Grid Height="341" Width="454" >
14
+            <!--分5行-->
15
+            <Grid.RowDefinitions>
16
+                <RowDefinition Height="45"/>
17
+                <RowDefinition Height="70"/>
18
+                <RowDefinition Height="70"/>
19
+                <RowDefinition Height="50"/>
20
+                <RowDefinition Height="*"/>
21
+            </Grid.RowDefinitions>
22
+            <!--第一行 标题-->
23
+            <Border Grid.Row="0" Background="#2D8CF0">
24
+                <Grid>
25
+                    <TextBlock Text="登录星火微课系统" Foreground="#FFFFFF" FontSize="16" Padding="10,13,0,0"/>
26
+                    <Button Grid.Row="0" x:Name="btnDown" Content="×" Foreground="#FFFFFF" FontSize="25" Padding="10,0,10,0" HorizontalAlignment="Right" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="btnDown_Click"/>
27
+                </Grid>
28
+            </Border>
29
+            <!--第二行 登陆 账号-->
30
+            <StackPanel Grid.Row="1" Orientation="Horizontal" Margin="20,20,0,0">
31
+                <TextBlock Text="登陆" FontSize="18" Padding="2,15,10,0"/>
32
+                <!--输入框-->
33
+                <Border Background="#CDD6E0" Width="371" Height="43" CornerRadius="3">
34
+                    <TextBox x:Name="txbAccountNumber" Text="" FontSize="16" Foreground="#333333" Padding="5,12,2,2" Width="369" Height="42" BorderBrush="{x:Null}" BorderThickness="0"/>
35
+                </Border>
36
+            </StackPanel>
37
+            <!--第三行 密码-->
38
+            <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="20,20,0,0">
39
+                <TextBlock Text="密码" FontSize="18" Padding="2,15,10,0"/>
40
+                <!--输入框-->
41
+                <Border Background="#CDD6E0" Width="371" Height="43" CornerRadius="3">
42
+                    <TextBox x:Name="txbPassword" Text="" FontSize="16" Foreground="#333333" Padding="5,12,2,2" Width="369" Height="42" BorderBrush="{x:Null}" BorderThickness="0"/>
43
+                </Border>
44
+            </StackPanel>
45
+            <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Left" Margin="20,0,0,0">
46
+                <Button Grid.Row="3" Height="20" Width="20" Content="√" FontSize="13" >
47
+                    <Button.Template>
48
+                        <ControlTemplate TargetType="{x:Type Button}">
49
+                            <Border
50
+                                BorderBrush="{TemplateBinding Control.BorderBrush}"
51
+                                BorderThickness="1"
52
+                                CornerRadius="2">
53
+                                <Border.Background>#FFFFFFFF</Border.Background>
54
+                                <ContentPresenter
55
+                                    HorizontalAlignment="Center"
56
+                                    VerticalAlignment="Center"
57
+                                    Content="{TemplateBinding ContentControl.Content}" />
58
+                            </Border>
59
+                        </ControlTemplate>
60
+                    </Button.Template>
61
+                </Button>
62
+                <TextBlock Text="记住账号" FontSize="18" Height="30" Padding="5,3,0,0"/>
63
+            </StackPanel>
64
+            
65
+            <!--第五行 开始按钮-->
66
+            <Button Grid.Row="4" x:Name="btnStart" Content="登录" FontSize="18" Foreground="#FFFFFF" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Width="418" Height="43" Margin="10,0,10,0" Click="btnStart_Click">
67
+                <Button.Template>
68
+                    <ControlTemplate TargetType="{x:Type Button}">
69
+                        <Border
70
+                                BorderBrush="{TemplateBinding Control.BorderBrush}"
71
+                                BorderThickness="1"
72
+                                CornerRadius="2">
73
+                            <Border.Background>#2D8CF0</Border.Background>
74
+                            <ContentPresenter
75
+                                    HorizontalAlignment="Center"
76
+                                    VerticalAlignment="Center"
77
+                                    Content="{TemplateBinding ContentControl.Content}" />
78
+                        </Border>
79
+                    </ControlTemplate>
80
+                </Button.Template>
81
+            </Button>
82
+        </Grid>
83
+    </Viewbox>
84
+</Window>

+ 45
- 0
XHWK.WKTool/LoginWindow.xaml.cs Vedi File

@@ -0,0 +1,45 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.Threading.Tasks;
6
+using System.Windows;
7
+using System.Windows.Controls;
8
+using System.Windows.Data;
9
+using System.Windows.Documents;
10
+using System.Windows.Input;
11
+using System.Windows.Media;
12
+using System.Windows.Media.Imaging;
13
+using System.Windows.Shapes;
14
+
15
+namespace XHWK.WKTool
16
+{
17
+    /// <summary>
18
+    /// LoginWindow.xaml 的交互逻辑
19
+    /// </summary>
20
+    public partial class LoginWindow : Window
21
+    {
22
+        public LoginWindow()
23
+        {
24
+            InitializeComponent();
25
+        }
26
+        /// <summary>
27
+        /// 关闭事件
28
+        /// </summary>
29
+        /// <param name="sender"></param>
30
+        /// <param name="e"></param>
31
+        private void btnDown_Click(object sender, RoutedEventArgs e)
32
+        {
33
+
34
+        }
35
+        /// <summary>
36
+        /// 登陆事件
37
+        /// </summary>
38
+        /// <param name="sender"></param>
39
+        /// <param name="e"></param>
40
+        private void btnStart_Click(object sender, RoutedEventArgs e)
41
+        {
42
+
43
+        }
44
+    }
45
+}

+ 77
- 0
XHWK.WKTool/ScreenRecordingToolbarWindow.xaml Vedi File

@@ -0,0 +1,77 @@
1
+<Window x:Class="XHWK.WKTool.ScreenRecordingToolbarWindow"
2
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6
+        xmlns:local="clr-namespace:XHWK.WKTool"
7
+        mc:Ignorable="d"
8
+        Title="ScreenRecordingToolbarWindow" Height="450" Width="800" AllowsTransparency="True" 
9
+    ShowInTaskbar="False"
10
+    WindowStartupLocation="CenterOwner"
11
+    WindowStyle="None">
12
+    <Window.Background>
13
+        <SolidColorBrush Opacity="0" Color="#292C2E" />
14
+    </Window.Background>
15
+    <Viewbox>
16
+        <Grid>
17
+            <Grid.RowDefinitions>
18
+                <RowDefinition Height="auto"/>
19
+                <RowDefinition Height="auto"/>
20
+            </Grid.RowDefinitions>
21
+            <Image Grid.Row="0"  Source="./Images/Toobar22.png" HorizontalAlignment="Right"/>
22
+            <StackPanel Grid.Row="0" Orientation="Vertical" HorizontalAlignment="Right" Margin="0,5,10,0">
23
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
24
+                    <Image Source="./Images/Toobar5.png"/>
25
+                </Button>
26
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
27
+                    <Image Source="./Images/Toobar12.png"/>
28
+                </Button>
29
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
30
+                    <Image Source="./Images/Toobar9.png"/>
31
+                </Button>
32
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
33
+                    <Image Source="./Images/Toobar16.png"/>
34
+                </Button>
35
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
36
+                    <Image Source="./Images/Toobar3.png"/>
37
+                </Button>
38
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
39
+                    <Image Source="./Images/Toobar23.png"/>
40
+                </Button>
41
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
42
+                    <Image Source="./Images/Toobar1.png"/>
43
+                </Button>
44
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,5,0,0">
45
+                    <Image Source="./Images/Toobar18.png"/>
46
+                </Button>
47
+            </StackPanel>
48
+            <!--字体粗细-->
49
+            <Image Grid.Row="0"  Source="./Images/Toobar20.png" HorizontalAlignment="Right" Margin="0,200,62,0" Visibility="Visible"/>
50
+            <StackPanel Grid.Row="0" Orientation="Vertical" HorizontalAlignment="Right" Margin="0,200,62,0" Visibility="Visible">
51
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Background="#FFFFFF" Height="3" Width="20" Margin="0,0,0,0"/>
52
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Background="#FFFFFF" Height="5" Width="20" Margin="0,10,0,0"/>
53
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Background="#FFFFFF" Height="10" Width="20" Margin="0,10,0,0"/>
54
+            </StackPanel>
55
+            <!--字体粗细-->
56
+            <Image Grid.Row="0"  Source="./Images/Toobar21.png" HorizontalAlignment="Right" Margin="0,200,62,0" Visibility="Collapsed"/>
57
+            <StackPanel Grid.Row="0" Orientation="Vertical" HorizontalAlignment="Right" Margin="0,260,62,0" Visibility="Collapsed">
58
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Background="#FFFFFF" Height="3" Width="20" Margin="0,0,0,0"/>
59
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Background="#FFFFFF" Height="5" Width="20" Margin="0,10,0,0"/>
60
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Background="#FFFFFF" Height="10" Width="20" Margin="0,10,0,0"/>
61
+            </StackPanel>
62
+                <Image Grid.Row="1"  Source="./Images/Toobar0.png"/>
63
+            <TextBlock Grid.Row="1" Text="01:35" FontSize="23" Foreground="#FFFFFF" Margin="30,50,0,0"/>
64
+            <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,15,0">
65
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,0,15,0">
66
+                    <Image Source="./Images/Toobar25.png"/>
67
+                </Button>
68
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,0,15,0">
69
+                    <Image Source="./Images/Toobar14.png"/>
70
+                </Button>
71
+                <Button Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="0,0,10,0">
72
+                    <Image Source="./Images/Toobar8.png"/>
73
+                </Button>
74
+            </StackPanel>
75
+        </Grid>
76
+    </Viewbox>
77
+</Window>

+ 27
- 0
XHWK.WKTool/ScreenRecordingToolbarWindow.xaml.cs Vedi File

@@ -0,0 +1,27 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.Threading.Tasks;
6
+using System.Windows;
7
+using System.Windows.Controls;
8
+using System.Windows.Data;
9
+using System.Windows.Documents;
10
+using System.Windows.Input;
11
+using System.Windows.Media;
12
+using System.Windows.Media.Imaging;
13
+using System.Windows.Shapes;
14
+
15
+namespace XHWK.WKTool
16
+{
17
+    /// <summary>
18
+    /// 录屏工具栏
19
+    /// </summary>
20
+    public partial class ScreenRecordingToolbarWindow : Window
21
+    {
22
+        public ScreenRecordingToolbarWindow()
23
+        {
24
+            InitializeComponent();
25
+        }
26
+    }
27
+}

+ 22
- 0
XHWK.WKTool/UCCamera.xaml Vedi File

@@ -0,0 +1,22 @@
1
+<Window x:Class="XHWK.WKTool.UCCamera"
2
+      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3
+      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4
+      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
5
+      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
6
+      xmlns:local="clr-namespace:XHWK.WKTool"
7
+        xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
8
+xmlns:aforge ="clr-namespace:AForge.Controls;assembly=AForge.Controls"
9
+      mc:Ignorable="d" 
10
+      d:DesignHeight="450" d:DesignWidth="800"
11
+      Title="UCCamera">
12
+
13
+    <Grid>
14
+        <wfi:WindowsFormsHost Grid.Row="0" Grid.Column="0" Height="200" Width="300">
15
+            <aforge:VideoSourcePlayer x:Name="player" Height="200" Width="300"/>
16
+        </wfi:WindowsFormsHost>
17
+        <StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2">
18
+            <Button  Name="btnOpenCamera" Click="btnOpenCamera_Click">打开摄像头</Button>
19
+            <Button x:Name="btnDown" Click="btnDown_Click" Content="关闭摄像头"/>
20
+        </StackPanel>
21
+    </Grid>
22
+</Window>

+ 45
- 0
XHWK.WKTool/UCCamera.xaml.cs Vedi File

@@ -0,0 +1,45 @@
1
+using Common.system;
2
+using System;
3
+using System.Collections.Generic;
4
+using System.Linq;
5
+using System.Text;
6
+using System.Threading.Tasks;
7
+using System.Windows;
8
+using System.Windows.Controls;
9
+using System.Windows.Data;
10
+using System.Windows.Documents;
11
+using System.Windows.Input;
12
+using System.Windows.Media;
13
+using System.Windows.Media.Imaging;
14
+using System.Windows.Navigation;
15
+using System.Windows.Shapes;
16
+
17
+namespace XHWK.WKTool
18
+{
19
+    /// <summary>
20
+    /// UCCamera.xaml 的交互逻辑
21
+    /// </summary>
22
+    public partial class UCCamera : Window
23
+    {
24
+        public UCCamera()
25
+        {
26
+            InitializeComponent();
27
+        }
28
+
29
+        private void btnOpenCamera_Click(object sender, RoutedEventArgs e)
30
+        {
31
+            CameraHelper.IsDisplay = true;
32
+            CameraHelper.SourcePlayer = player;
33
+            CameraHelper.UpdateCameraDevices();
34
+            if (CameraHelper.CameraDevices.Count > 0)
35
+            {
36
+                CameraHelper.SetCameraDevice(0);
37
+            }
38
+        }
39
+
40
+        private void btnDown_Click(object sender, RoutedEventArgs e)
41
+        {
42
+            CameraHelper.CloseDevice();
43
+        }
44
+    }
45
+}

+ 103
- 13
XHWK.WKTool/XHMicroLessonSystemWindow.xaml Vedi File

@@ -3,20 +3,22 @@
3 3
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4 4
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5 5
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6
+         xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
7
+        xmlns:aforge ="clr-namespace:AForge.Controls;assembly=AForge.Controls"
6 8
         xmlns:local="clr-namespace:XHWK.WKTool"
7 9
         mc:Ignorable="d"
8
-        Title="XHMicroLessonSystemWindow" Height="794" Width="1123" WindowStartupLocation="CenterOwner"
9
-    WindowStyle="None" AllowsTransparency="True" Background="#EFF1F8"
10
+        Title="XHMicroLessonSystemWindow" Height="930" Width="1162.5" WindowStartupLocation="CenterOwner"
11
+    WindowStyle="None" Background="#EFF1F8"  AllowsTransparency="True"
10 12
     ShowInTaskbar="False">
11 13
     <Viewbox>
12
-        <Grid Height="793.700787401575" Width="1122.51968503937">
14
+        <Grid Height="930" Width="1162.5">
13 15
             <!--分3行-->
14 16
             <Grid.RowDefinitions>
15 17
                 <RowDefinition Height="106"/>
16 18
                 <RowDefinition Height="*"/>
17 19
                 <RowDefinition Height="30"/>
18 20
             </Grid.RowDefinitions>
19
-            <Grid Grid.Row="0" Background="#2D8CF0" MouseLeftButtonDown="Window_MouseLeftButtonDown">
21
+            <Grid Grid.Row="0" Background="#2D8CF0" MouseLeftButtonDown="Window_MouseLeftButtonDown" Margin="0,0,0,0">
20 22
                 <Grid.RowDefinitions>
21 23
                     <RowDefinition Height="auto"/>
22 24
                     <RowDefinition Height="auto"/>
@@ -39,13 +41,13 @@
39 41
                     <Button x:Name="btnEnlarge" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Margin="8,0,8,0">
40 42
                         <Image Source="./Images/microLessonSystem_8.png"/>
41 43
                     </Button>
42
-                    <Button x:Name="btnDown" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
44
+                    <Button x:Name="btnDown" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="BtnDown_Click">
43 45
                         <Image Source="./Images/microLessonSystem_10.png"/>
44 46
                     </Button>
45 47
                 </StackPanel>
46 48
                 <!--第二行-->
47 49
                 <StackPanel Grid.Row="1" Orientation="Horizontal" Margin="10,10,0,0">
48
-                    <Button x:Name="btnScreenRecording" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
50
+                    <Button x:Name="btnScreenRecording" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="BtnScreenRecording_Click">
49 51
                         <StackPanel Orientation="Vertical">
50 52
                             <Image x:Name="ImgScreenRecording" Source="./Images/microLessonSystem_2.png"/>
51 53
                             <Image x:Name="ImgScreenRecordingTwo" Source="./Images/microLessonSystem_3.png" Visibility="Collapsed"/>
@@ -96,7 +98,7 @@
96 98
                             <TextBlock Text="打印" FontSize="14" Foreground="#FFFFFF" HorizontalAlignment="Center"/>
97 99
                         </StackPanel>
98 100
                     </Button>
99
-                    <Button x:Name="btnUpload" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
101
+                    <Button x:Name="btnUpload" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="BtnUpload_Click">
100 102
                         <StackPanel Orientation="Vertical">
101 103
                             <Image x:Name="ImgUpload" Source="./Images/microLessonSystem_16.png"/>
102 104
                             <Image x:Name="ImgUploadTwo" Source="./Images/microLessonSystem_15.png" Visibility="Collapsed"/>
@@ -110,7 +112,7 @@
110 112
                             <TextBlock Text="我的" FontSize="14" Foreground="#FFFFFF" HorizontalAlignment="Center"/>
111 113
                         </StackPanel>
112 114
                     </Button>
113
-                    <Button x:Name="btnSetUp" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
115
+                    <Button x:Name="btnSetUp" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Click="BtnSetUp_Click">
114 116
                         <StackPanel Orientation="Vertical">
115 117
                             <Image x:Name="ImgSetUp" Source="./Images/microLessonSystem_18.png"/>
116 118
                             <Image x:Name="ImgSetUpTwo" Source="./Images/microLessonSystem_17.png" Visibility="Collapsed"/>
@@ -119,11 +121,99 @@
119 121
                     </Button>
120 122
                 </StackPanel>
121 123
             </Grid>
122
-            <Grid Grid.Row="1" Background="#FFFFFF" Margin="20,0,20,0">
124
+            <!--主内容-->
125
+            <Grid Grid.Row="1" x:Name="gridMain"  Margin="20,0,20,0" Background="#FFFFFF" Height="793.700787401575" Width="1142.51968503937" Visibility="Visible">
123 126
 
124 127
             </Grid>
125
-            <Grid Grid.Row="1" Background="#FFFFFF">
126
-
128
+            <!--摄像头-->
129
+            <Grid Grid.Row="1" x:Name="gridCamera" Background="#FFFFFF" Margin="20,0,20,0" Visibility="Hidden">
130
+                <wfi:WindowsFormsHost Grid.Row="0" Grid.Column="0" Height="124" Width="172" HorizontalAlignment="Right" Margin="10,10,10,10" VerticalAlignment="Top">
131
+                    <aforge:VideoSourcePlayer x:Name="player" Height="124" Width="172"  />
132
+                </wfi:WindowsFormsHost>
133
+            </Grid>
134
+            <!--设置-->
135
+            <Grid Grid.Row="1" x:Name="gridSetUp" Margin="20,0,20,0" Background="#FFFFFF" Visibility="Collapsed">
136
+                <Grid.RowDefinitions>
137
+                    <RowDefinition Height="120"/>
138
+                    <RowDefinition Height="90"/>
139
+                    <RowDefinition Height="90"/>
140
+                    <RowDefinition Height="80"/>
141
+                    <RowDefinition Height="80"/>
142
+                    <RowDefinition Height="90"/>
143
+                    <RowDefinition Height="90"/>
144
+                    <RowDefinition Height="*"/>
145
+                </Grid.RowDefinitions>
146
+                <StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,30,0,0">
147
+                    <TextBlock Text="   点阵笔" FontSize="16" Foreground="#2D8CF0"/>
148
+                    <TextBlock Text="未连接" FontSize="14" Foreground="#333333" Padding="10,0,0,0"/>
149
+                </StackPanel>
150
+                <StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Left">
151
+                    <TextBlock Text="视频格式" FontSize="16" Foreground="#2D8CF0"/>
152
+                    <RadioButton Content="MP4" FontSize="14" Foreground="#333333" Margin="10,2,0,0" IsChecked="True"/>
153
+                    <RadioButton Content="FLV" FontSize="14" Foreground="#333333" Margin="20,2,0,0"/>
154
+                    <RadioButton Content="AVI" FontSize="14" Foreground="#333333" Margin="20,2,0,0"/>
155
+                </StackPanel>
156
+                <StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Left">
157
+                    <TextBlock Text="头像位置" FontSize="16" Foreground="#2D8CF0"/>
158
+                    <RadioButton Content="左上" FontSize="14" Foreground="#333333" Margin="10,2,0,0" IsChecked="True"/>
159
+                    <RadioButton Content="左下" FontSize="14" Foreground="#333333" Margin="20,2,0,0"/>
160
+                    <RadioButton Content="右上" FontSize="14" Foreground="#333333" Margin="20,2,0,0"/>
161
+                    <RadioButton Content="右下" FontSize="14" Foreground="#333333" Margin="20,2,0,0"/>
162
+                </StackPanel>
163
+                <StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Left">
164
+                    <TextBlock Text="视频声音" FontSize="16" Foreground="#2D8CF0"/>
165
+                    <RadioButton Content="有" FontSize="14" Foreground="#333333" Margin="10,2,0,0" IsChecked="True"/>
166
+                    <RadioButton Content="无" FontSize="14" Foreground="#333333" Margin="20,2,0,0"/>
167
+                </StackPanel>
168
+                <StackPanel Grid.Row="4" Orientation="Horizontal" HorizontalAlignment="Left">
169
+                    <TextBlock Text="文件路径" FontSize="16" Foreground="#2D8CF0" Padding="2,36,10,0"/>
170
+                    <!--输入框-->
171
+                    <Border Background="#CDD6E0" Width="525" Height="43" CornerRadius="3">
172
+                        <TextBox x:Name="txbStoragePath" Text="D:\" FontSize="16" Foreground="#333333" Padding="5,12,2,2" Width="523" Height="42" BorderBrush="{x:Null}" BorderThickness="0"/>
173
+                    </Border>
174
+                    <!--浏览按钮-->
175
+                    <Button x:Name="btnBrowse" Content="浏览" FontSize="18" Width="80" Height="43" Margin="18,0,0,0" Click="btnBrowse_Click">
176
+                        <Button.Template>
177
+                            <ControlTemplate TargetType="{x:Type Button}">
178
+                                <Border
179
+                                BorderBrush="{TemplateBinding Control.BorderBrush}"
180
+                                BorderThickness="1"
181
+                                CornerRadius="2">
182
+                                    <Border.Background>#CDD6E0</Border.Background>
183
+                                    <ContentPresenter
184
+                                    HorizontalAlignment="Center"
185
+                                    VerticalAlignment="Center"
186
+                                    Content="{TemplateBinding ContentControl.Content}" />
187
+                                </Border>
188
+                            </ControlTemplate>
189
+                        </Button.Template>
190
+                    </Button>
191
+                </StackPanel>
192
+                <StackPanel Grid.Row="5" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,30,0,0">
193
+                    <TextBlock Text="    版本号" FontSize="16" Foreground="#2D8CF0"/>
194
+                    <TextBlock Text="V0.0.0" FontSize="16" Foreground="#333333" Padding="10,0,0,0"/>
195
+                </StackPanel>
196
+                <StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0,30,0,0">
197
+                    <TextBlock Text="版权所有" FontSize="16" Foreground="#2D8CF0"/>
198
+                    <TextBlock Text="河南星火燎原软件科技有限公司" FontSize="14" Foreground="#333333" Padding="10,0,0,0"/>
199
+                </StackPanel>
200
+                <!--第四行 开始按钮-->
201
+                <Button Grid.Row="7" x:Name="btnSave" Content="保存" FontSize="18" Foreground="#FFFFFF" Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" Width="115" Height="45" Margin="10,0,10,0" Click="BtnSave_Click">
202
+                    <Button.Template>
203
+                        <ControlTemplate TargetType="{x:Type Button}">
204
+                            <Border
205
+                                BorderBrush="{TemplateBinding Control.BorderBrush}"
206
+                                BorderThickness="1"
207
+                                CornerRadius="2">
208
+                                <Border.Background>#2D8CF0</Border.Background>
209
+                                <ContentPresenter
210
+                                    HorizontalAlignment="Center"
211
+                                    VerticalAlignment="Center"
212
+                                    Content="{TemplateBinding ContentControl.Content}" />
213
+                            </Border>
214
+                        </ControlTemplate>
215
+                    </Button.Template>
216
+                </Button>
127 217
             </Grid>
128 218
             <Grid Grid.Row="2">
129 219
                 <StackPanel Orientation="Horizontal" Margin="0,5,0,0">
@@ -140,8 +230,8 @@
140 230
                     <RadioButton x:Name="rbnCrude" Content="粗" FontSize="14" Margin="5,5,0,0"/>
141 231
                     <StackPanel Orientation="Horizontal">
142 232
                         <TextBlock Text="摄像头:" FontSize="14" Padding="15,5,0,0"/>
143
-                        <RadioButton x:Name="rbnOpen" Content="开" FontSize="14" Margin="0,5,0,0"/>
144
-                        <RadioButton x:Name="rbnTurnOff" Content="关" FontSize="14" Margin="5,5,0,0" IsChecked="True"/>
233
+                        <RadioButton x:Name="rbnOpen" Content="开" FontSize="14" Margin="0,5,0,0" Click="RbnOpen_Click"/>
234
+                        <RadioButton x:Name="rbnTurnOff" Content="关" FontSize="14" Margin="5,5,0,0" IsChecked="True" Click="RbnTurnOff_Click"/>
145 235
                     </StackPanel>
146 236
                 </StackPanel>
147 237
                 <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,5,5,0">

+ 127
- 3
XHWK.WKTool/XHMicroLessonSystemWindow.xaml.cs Vedi File

@@ -1,4 +1,5 @@
1
-using System;
1
+using Common.system;
2
+using System;
2 3
 using System.Collections.Generic;
3 4
 using System.Linq;
4 5
 using System.Text;
@@ -7,6 +8,7 @@ using System.Windows;
7 8
 using System.Windows.Controls;
8 9
 using System.Windows.Data;
9 10
 using System.Windows.Documents;
11
+using System.Windows.Forms;
10 12
 using System.Windows.Input;
11 13
 using System.Windows.Media;
12 14
 using System.Windows.Media.Imaging;
@@ -15,10 +17,23 @@ using System.Windows.Shapes;
15 17
 namespace XHWK.WKTool
16 18
 {
17 19
     /// <summary>
18
-    /// XHMicroLessonSystemWindow.xaml 的交互逻辑
20
+    /// 主页面
19 21
     /// </summary>
20 22
     public partial class XHMicroLessonSystemWindow : Window
21 23
     {
24
+        #region 字段
25
+        /// <summary>
26
+        /// 文件目录窗口
27
+        /// </summary>
28
+        //private CountdownWindow FileDirectoryWindows = null;  
29
+        private FolderBrowserDialog Ofd;
30
+        private DialogResult Result;
31
+        #endregion
32
+
33
+        #region 初始化
34
+        /// <summary>
35
+        /// 主页面
36
+        /// </summary>
22 37
         public XHMicroLessonSystemWindow()
23 38
         {
24 39
             InitializeComponent();
@@ -29,7 +44,10 @@ namespace XHWK.WKTool
29 44
         public void Initialize()
30 45
         {
31 46
 
32
-        }
47
+        } 
48
+        #endregion
49
+
50
+        #region 事件
33 51
         /// <summary>
34 52
         /// 窗体移动
35 53
         /// </summary>
@@ -39,5 +57,111 @@ namespace XHWK.WKTool
39 57
         {
40 58
             DragMove();
41 59
         }
60
+        /// <summary>
61
+        /// 摄像头打开事件
62
+        /// </summary>
63
+        /// <param name="sender"></param>
64
+        /// <param name="e"></param>
65
+        private void RbnOpen_Click(object sender, RoutedEventArgs e)
66
+        {
67
+            //UCCamera win = new UCCamera();
68
+            ////win.Topmost = true;
69
+            //win.ShowDialog();
70
+
71
+
72
+
73
+            gridCamera.Visibility = Visibility.Visible;
74
+            CameraHelper.IsDisplay = true;
75
+            CameraHelper.SourcePlayer = player;
76
+            CameraHelper.UpdateCameraDevices();
77
+            if (CameraHelper.CameraDevices.Count > 0)
78
+            {
79
+                CameraHelper.SetCameraDevice(0);
80
+            }
81
+        }
82
+        /// <summary>
83
+        /// 摄像头关闭事件
84
+        /// </summary>
85
+        /// <param name="sender"></param>
86
+        /// <param name="e"></param>
87
+        private void RbnTurnOff_Click(object sender, RoutedEventArgs e)
88
+        {
89
+            gridCamera.Visibility = Visibility.Hidden;
90
+            CameraHelper.CloseDevice();
91
+        }
92
+        #endregion
93
+        /// <summary>
94
+        /// 录屏事件
95
+        /// </summary>
96
+        /// <param name="sender"></param>
97
+        /// <param name="e"></param>
98
+        private void BtnScreenRecording_Click(object sender, RoutedEventArgs e)
99
+        {
100
+            CountdownWindow win = new CountdownWindow();
101
+            win.Topmost = true;
102
+            win.Show();
103
+            this.Close();
104
+        }
105
+        /// <summary>
106
+        /// 上传事件
107
+        /// </summary>
108
+        /// <param name="sender"></param>
109
+        /// <param name="e"></param>
110
+        private void BtnUpload_Click(object sender, RoutedEventArgs e)
111
+        {
112
+            FileDirectoryWindow fileDirectoryWindow = new FileDirectoryWindow();
113
+            fileDirectoryWindow.Show();
114
+        }
115
+        /// <summary>
116
+        /// 关闭事件
117
+        /// </summary>
118
+        /// <param name="sender"></param>
119
+        /// <param name="e"></param>
120
+        private void BtnDown_Click(object sender, RoutedEventArgs e)
121
+        {
122
+            this.Close();
123
+        }
124
+        /// <summary>
125
+        /// 设置 保存事件
126
+        /// </summary>
127
+        /// <param name="sender"></param>
128
+        /// <param name="e"></param>
129
+        private void BtnSave_Click(object sender, RoutedEventArgs e)
130
+        {
131
+            gridMain.Visibility = Visibility.Visible;
132
+            gridSetUp.Visibility = Visibility.Collapsed;
133
+        }
134
+        /// <summary>
135
+        /// 设置事件
136
+        /// </summary>
137
+        /// <param name="sender"></param>
138
+        /// <param name="e"></param>
139
+        private void BtnSetUp_Click(object sender, RoutedEventArgs e)
140
+        {
141
+            gridMain.Visibility = Visibility.Collapsed;
142
+            gridSetUp.Visibility = Visibility.Visible;
143
+        }
144
+        /// <summary>
145
+        /// 设置 浏览事件
146
+        /// </summary>
147
+        /// <param name="sender"></param>
148
+        /// <param name="e"></param>
149
+        private void btnBrowse_Click(object sender, RoutedEventArgs e)
150
+        {
151
+            string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
152
+            Ofd = new System.Windows.Forms.FolderBrowserDialog();
153
+
154
+            Result = Ofd.ShowDialog();
155
+            if (Result == System.Windows.Forms.DialogResult.OK)
156
+            {
157
+                if (Ofd.SelectedPath != "")
158
+                {
159
+                    txbStoragePath.Text = Ofd.SelectedPath;
160
+                    //string ApplicationData = ZConfig.dataPath + "fileStorageAddress.txt";
161
+                    //string temp = ofd.SelectedPath;
162
+                    //System.IO.File.WriteAllText(ApplicationData, temp, Encoding.Default);
163
+                }
164
+            }
165
+        }
42 166
     }
43 167
 }

+ 135
- 0
XHWK.WKTool/XHWK.WKTool.csproj Vedi File

@@ -35,11 +35,30 @@
35 35
     <WarningLevel>4</WarningLevel>
36 36
   </PropertyGroup>
37 37
   <ItemGroup>
38
+    <Reference Include="AForge, Version=2.2.5.0, Culture=neutral, PublicKeyToken=c1db6ff4eaa06aeb, processorArchitecture=MSIL">
39
+      <HintPath>..\packages\AForge.2.2.5\lib\AForge.dll</HintPath>
40
+    </Reference>
41
+    <Reference Include="AForge.Controls, Version=2.2.5.0, Culture=neutral, PublicKeyToken=a8ac264d1dc6b9d9, processorArchitecture=MSIL">
42
+      <HintPath>..\packages\AForge.Controls.2.2.5\lib\AForge.Controls.dll</HintPath>
43
+    </Reference>
44
+    <Reference Include="AForge.Imaging, Version=2.2.5.0, Culture=neutral, PublicKeyToken=ba8ddea9676ca48b, processorArchitecture=MSIL">
45
+      <HintPath>..\packages\AForge.Imaging.2.2.5\lib\AForge.Imaging.dll</HintPath>
46
+    </Reference>
47
+    <Reference Include="AForge.Math, Version=2.2.5.0, Culture=neutral, PublicKeyToken=abba2e25397ee8c9, processorArchitecture=MSIL">
48
+      <HintPath>..\packages\AForge.Math.2.2.5\lib\AForge.Math.dll</HintPath>
49
+    </Reference>
50
+    <Reference Include="AForge.Video, Version=2.2.5.0, Culture=neutral, PublicKeyToken=cbfb6e07d173c401, processorArchitecture=MSIL">
51
+      <HintPath>..\packages\AForge.Video.2.2.5\lib\AForge.Video.dll</HintPath>
52
+    </Reference>
53
+    <Reference Include="AForge.Video.DirectShow, Version=2.2.5.0, Culture=neutral, PublicKeyToken=61ea4348d43881b7, processorArchitecture=MSIL">
54
+      <HintPath>..\packages\AForge.Video.DirectShow.2.2.5\lib\AForge.Video.DirectShow.dll</HintPath>
55
+    </Reference>
38 56
     <Reference Include="log4net">
39 57
       <HintPath>..\Common\dlls\log4net.dll</HintPath>
40 58
     </Reference>
41 59
     <Reference Include="System" />
42 60
     <Reference Include="System.Data" />
61
+    <Reference Include="System.Windows.Forms" />
43 62
     <Reference Include="System.Xml" />
44 63
     <Reference Include="Microsoft.CSharp" />
45 64
     <Reference Include="System.Core" />
@@ -52,8 +71,34 @@
52 71
     <Reference Include="WindowsBase" />
53 72
     <Reference Include="PresentationCore" />
54 73
     <Reference Include="PresentationFramework" />
74
+    <Reference Include="WindowsFormsIntegration" />
75
+    <Reference Include="WpfAnimatedGif, Version=2.0.0.0, Culture=neutral, PublicKeyToken=9e7cd3b544a090dc, processorArchitecture=MSIL">
76
+      <HintPath>..\packages\WpfAnimatedGif.2.0.0\lib\net40\WpfAnimatedGif.dll</HintPath>
77
+    </Reference>
55 78
   </ItemGroup>
56 79
   <ItemGroup>
80
+    <Compile Include="CountdownWindow.xaml.cs">
81
+      <DependentUpon>CountdownWindow.xaml</DependentUpon>
82
+    </Compile>
83
+    <Compile Include="FileDirectoryWindow.xaml.cs">
84
+      <DependentUpon>FileDirectoryWindow.xaml</DependentUpon>
85
+    </Compile>
86
+    <Compile Include="LoginWindow.xaml.cs">
87
+      <DependentUpon>LoginWindow.xaml</DependentUpon>
88
+    </Compile>
89
+    <Compile Include="ScreenRecordingToolbarWindow.xaml.cs">
90
+      <DependentUpon>ScreenRecordingToolbarWindow.xaml</DependentUpon>
91
+    </Compile>
92
+    <Compile Include="UCCamera.xaml.cs">
93
+      <DependentUpon>UCCamera.xaml</DependentUpon>
94
+    </Compile>
95
+    <Compile Include="XHMicroLessonSystemWindow.xaml.cs">
96
+      <DependentUpon>XHMicroLessonSystemWindow.xaml</DependentUpon>
97
+    </Compile>
98
+    <Page Include="CountdownWindow.xaml">
99
+      <SubType>Designer</SubType>
100
+      <Generator>MSBuild:Compile</Generator>
101
+    </Page>
57 102
     <Page Include="CreateAMicroLessonWindow.xaml">
58 103
       <Generator>MSBuild:Compile</Generator>
59 104
       <SubType>Designer</SubType>
@@ -63,6 +108,26 @@
63 108
       <DependentUpon>CreateAMicroLessonWindow.xaml</DependentUpon>
64 109
       <SubType>Code</SubType>
65 110
     </Compile>
111
+    <Page Include="FileDirectoryWindow.xaml">
112
+      <SubType>Designer</SubType>
113
+      <Generator>MSBuild:Compile</Generator>
114
+    </Page>
115
+    <Page Include="LoginWindow.xaml">
116
+      <SubType>Designer</SubType>
117
+      <Generator>MSBuild:Compile</Generator>
118
+    </Page>
119
+    <Page Include="ScreenRecordingToolbarWindow.xaml">
120
+      <SubType>Designer</SubType>
121
+      <Generator>MSBuild:Compile</Generator>
122
+    </Page>
123
+    <Page Include="UCCamera.xaml">
124
+      <SubType>Designer</SubType>
125
+      <Generator>MSBuild:Compile</Generator>
126
+    </Page>
127
+    <Page Include="XHMicroLessonSystemWindow.xaml">
128
+      <SubType>Designer</SubType>
129
+      <Generator>MSBuild:Compile</Generator>
130
+    </Page>
66 131
   </ItemGroup>
67 132
   <ItemGroup>
68 133
     <Compile Include="Properties\AssemblyInfo.cs">
@@ -82,6 +147,7 @@
82 147
       <Generator>ResXFileCodeGenerator</Generator>
83 148
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
84 149
     </EmbeddedResource>
150
+    <None Include="packages.config" />
85 151
     <None Include="Properties\Settings.settings">
86 152
       <Generator>SettingsSingleFileGenerator</Generator>
87 153
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
@@ -100,5 +166,74 @@
100 166
       <Name>XHWK.Model</Name>
101 167
     </ProjectReference>
102 168
   </ItemGroup>
169
+  <ItemGroup>
170
+    <Resource Include="Images\microLessonSystem_0.png" />
171
+    <Resource Include="Images\microLessonSystem_1.png" />
172
+    <Resource Include="Images\microLessonSystem_10.png" />
173
+    <Resource Include="Images\microLessonSystem_11.png" />
174
+    <Resource Include="Images\microLessonSystem_12.png" />
175
+    <Resource Include="Images\microLessonSystem_13.png" />
176
+    <Resource Include="Images\microLessonSystem_14.png" />
177
+    <Resource Include="Images\microLessonSystem_15.png" />
178
+    <Resource Include="Images\microLessonSystem_16.png" />
179
+    <Resource Include="Images\microLessonSystem_17.png" />
180
+    <Resource Include="Images\microLessonSystem_18.png" />
181
+    <Resource Include="Images\microLessonSystem_19.png" />
182
+    <Resource Include="Images\microLessonSystem_2.png" />
183
+    <Resource Include="Images\microLessonSystem_20.png" />
184
+    <Resource Include="Images\microLessonSystem_21.png" />
185
+    <Resource Include="Images\microLessonSystem_22.png" />
186
+    <Resource Include="Images\microLessonSystem_23.png" />
187
+    <Resource Include="Images\microLessonSystem_24.png" />
188
+    <Resource Include="Images\microLessonSystem_25.png" />
189
+    <Resource Include="Images\microLessonSystem_3.png" />
190
+    <Resource Include="Images\microLessonSystem_4.png" />
191
+    <Resource Include="Images\microLessonSystem_5.png" />
192
+    <Resource Include="Images\microLessonSystem_6.png" />
193
+    <Resource Include="Images\microLessonSystem_7.png" />
194
+    <Resource Include="Images\microLessonSystem_8.png" />
195
+    <Resource Include="Images\microLessonSystem_9.png" />
196
+  </ItemGroup>
197
+  <ItemGroup>
198
+    <Resource Include="Images\countdown.gif" />
199
+  </ItemGroup>
200
+  <ItemGroup>
201
+    <Resource Include="Images\countdown_2.png" />
202
+  </ItemGroup>
203
+  <ItemGroup>
204
+    <Resource Include="Images\countdown_3.png" />
205
+  </ItemGroup>
206
+  <ItemGroup>
207
+    <Resource Include="Images\countdown_1.png" />
208
+  </ItemGroup>
209
+  <ItemGroup>
210
+    <Resource Include="Images\Toobar0.png" />
211
+    <Resource Include="Images\Toobar1.png" />
212
+    <Resource Include="Images\Toobar10.png" />
213
+    <Resource Include="Images\Toobar11.png" />
214
+    <Resource Include="Images\Toobar12.png" />
215
+    <Resource Include="Images\Toobar13.png" />
216
+    <Resource Include="Images\Toobar14.png" />
217
+    <Resource Include="Images\Toobar15.png" />
218
+    <Resource Include="Images\Toobar16.png" />
219
+    <Resource Include="Images\Toobar17.png" />
220
+    <Resource Include="Images\Toobar18.png" />
221
+    <Resource Include="Images\Toobar19.png" />
222
+    <Resource Include="Images\Toobar2.png" />
223
+    <Resource Include="Images\Toobar20.png" />
224
+    <Resource Include="Images\Toobar21.png" />
225
+    <Resource Include="Images\Toobar22.png" />
226
+    <Resource Include="Images\Toobar23.png" />
227
+    <Resource Include="Images\Toobar24.png" />
228
+    <Resource Include="Images\Toobar25.png" />
229
+    <Resource Include="Images\Toobar26.png" />
230
+    <Resource Include="Images\Toobar3.png" />
231
+    <Resource Include="Images\Toobar4.png" />
232
+    <Resource Include="Images\Toobar5.png" />
233
+    <Resource Include="Images\Toobar6.png" />
234
+    <Resource Include="Images\Toobar7.png" />
235
+    <Resource Include="Images\Toobar8.png" />
236
+    <Resource Include="Images\Toobar9.png" />
237
+  </ItemGroup>
103 238
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
104 239
 </Project>

+ 10
- 0
XHWK.WKTool/packages.config Vedi File

@@ -0,0 +1,10 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<packages>
3
+  <package id="AForge" version="2.2.5" targetFramework="net452" />
4
+  <package id="AForge.Controls" version="2.2.5" targetFramework="net452" />
5
+  <package id="AForge.Imaging" version="2.2.5" targetFramework="net452" />
6
+  <package id="AForge.Math" version="2.2.5" targetFramework="net452" />
7
+  <package id="AForge.Video" version="2.2.5" targetFramework="net452" />
8
+  <package id="AForge.Video.DirectShow" version="2.2.5" targetFramework="net452" />
9
+  <package id="WpfAnimatedGif" version="2.0.0" targetFramework="net452" />
10
+</packages>

BIN
dl/WindowsFormsIntegration.dll Vedi File


Loading…
Annulla
Salva