Browse Source

工具栏 个人空间 直播切换图标完成

ZhangXueYang
zhangxueyang 3 years ago
parent
commit
edc27d7da8
41 changed files with 1551 additions and 19 deletions
  1. 1
    0
      Common/Common.csproj
  2. 94
    0
      Common/ZB/ClippingBorder.cs
  3. 8
    0
      XHZB.Desktop/App.cs
  4. BIN
      XHZB.Desktop/Images/RollCall/attendance_0_0_0.png
  5. BIN
      XHZB.Desktop/Images/RollCall/attendance_1.png
  6. BIN
      XHZB.Desktop/Images/RollCall/attendance_2.png
  7. BIN
      XHZB.Desktop/Images/RollCall/attendance_3.png
  8. BIN
      XHZB.Desktop/Images/RollCall/attendance_33.png
  9. BIN
      XHZB.Desktop/Images/RollCall/rollCall_0_1_1.png
  10. BIN
      XHZB.Desktop/Images/RollCall/rollCall_1.png
  11. BIN
      XHZB.Desktop/Images/RollCall/rollCall_10.png
  12. BIN
      XHZB.Desktop/Images/RollCall/rollCall_11.png
  13. BIN
      XHZB.Desktop/Images/RollCall/rollCall_12.png
  14. BIN
      XHZB.Desktop/Images/RollCall/rollCall_13.png
  15. BIN
      XHZB.Desktop/Images/RollCall/rollCall_2.png
  16. BIN
      XHZB.Desktop/Images/RollCall/rollCall_4.png
  17. BIN
      XHZB.Desktop/Images/RollCall/rollCall_5.png
  18. BIN
      XHZB.Desktop/Images/RollCall/rollCall_6.png
  19. BIN
      XHZB.Desktop/Images/RollCall/rollCall_7.png
  20. BIN
      XHZB.Desktop/Images/ToolBar/img_shared_1.gif
  21. BIN
      XHZB.Desktop/Images/ToolBar/toolbar_bottom2.png
  22. BIN
      XHZB.Desktop/Images/ToolBar/toolbar_bottom2_0.png
  23. BIN
      XHZB.Desktop/Images/ToolBar/下课@2x.png
  24. BIN
      XHZB.Desktop/Images/ToolBar/我的备课@2x.png
  25. BIN
      XHZB.Desktop/Images/ToolBar/抢答@2x.png
  26. BIN
      XHZB.Desktop/Images/ToolBar/本节考勤01@2x.png
  27. BIN
      XHZB.Desktop/Images/ToolBar/直播@2x.png
  28. BIN
      XHZB.Desktop/Images/ToolBar/讲评@2x.png
  29. BIN
      XHZB.Desktop/Images/ToolBar/黑板01@2x.png
  30. 7
    2
      XHZB.Desktop/MainWindow.xaml.cs
  31. 166
    0
      XHZB.Desktop/ToolbarWindow.xaml
  32. 370
    0
      XHZB.Desktop/ToolbarWindow.xaml.cs
  33. 544
    0
      XHZB.Desktop/UserCenterWindow.xaml
  34. 97
    0
      XHZB.Desktop/UserCenterWindow.xaml.cs
  35. 25
    0
      XHZB.Desktop/Utils/ColorBgConverter.cs
  36. 25
    0
      XHZB.Desktop/Utils/ColorTextConverter.cs
  37. 128
    0
      XHZB.Desktop/Utils/VTHelper.cs
  38. 48
    0
      XHZB.Desktop/XHZB.Desktop.csproj
  39. 4
    0
      XHZB.Desktop/packages.config
  40. 22
    0
      XHZB.Model/NotifyModel.cs
  41. 12
    17
      XHZB.Model/XHZB.Model.csproj

+ 1
- 0
Common/Common.csproj View File

@@ -140,6 +140,7 @@
140 140
     <Compile Include="system\SplashScreen.cs" />
141 141
     <Compile Include="system\XmlUtilHelper.cs" />
142 142
     <Compile Include="system\ZJClippingBorder.cs" />
143
+    <Compile Include="ZB\ClippingBorder.cs" />
143 144
   </ItemGroup>
144 145
   <ItemGroup>
145 146
     <Folder Include="dlls\" />

+ 94
- 0
Common/ZB/ClippingBorder.cs View File

@@ -0,0 +1,94 @@
1
+using System;
2
+using System.Windows;
3
+using System.Windows.Controls;
4
+using System.Windows.Media;
5
+
6
+namespace Common.ZB
7
+{
8
+    public class ClippingBorder : Border
9
+    {
10
+        private object _oldClip;
11
+
12
+        protected override void OnRender(DrawingContext dc)
13
+        {
14
+            OnApplyChildClip();
15
+            base.OnRender(dc);
16
+        }
17
+
18
+        public override UIElement Child
19
+        {
20
+            get => base.Child;
21
+            set
22
+            {
23
+                if (Child != value)
24
+                {
25
+                    if (Child != null)
26
+                    {
27
+                        Child.SetValue(ClipProperty, _oldClip);
28
+                    }
29
+
30
+                    if (value != null)
31
+                    {
32
+                        _oldClip = value.ReadLocalValue(ClipProperty);
33
+                    }
34
+                    else
35
+                    {
36
+                        // If we dont set it to null we could leak a Geometry object
37
+                        _oldClip = null;
38
+                    }
39
+
40
+                    base.Child = value;
41
+                }
42
+            }
43
+        }
44
+
45
+        protected virtual void OnApplyChildClip()
46
+        {
47
+            UIElement child = Child;
48
+            if (child != null)
49
+            {
50
+                double top = Math.Max(CornerRadius.TopLeft, CornerRadius.TopRight);
51
+                double bottom = Math.Max(CornerRadius.BottomLeft, CornerRadius.BottomRight);
52
+                double max = Math.Max(top, bottom);
53
+                Size size = RenderSize;
54
+                double width = size.Width - (BorderThickness.Left + BorderThickness.Right);
55
+                double height = size.Height - (BorderThickness.Top + BorderThickness.Bottom);
56
+                Geometry result = new RectangleGeometry(new Rect(0, 0, width, height), max, max);
57
+                double halfWidth = width / 2;
58
+                double halfHeight = height / 2;
59
+
60
+                if (CornerRadius.TopLeft == 0)
61
+                {
62
+                    result = new CombinedGeometry(
63
+                        GeometryCombineMode.Union,
64
+                        result,
65
+                        new RectangleGeometry(new Rect(0, 0, halfWidth, halfHeight))
66
+                    );
67
+                }
68
+
69
+                if (CornerRadius.TopRight == 0)
70
+                {
71
+                    result = new CombinedGeometry(GeometryCombineMode.Union, result, new RectangleGeometry
72
+                (new Rect(halfWidth, 0, halfWidth, halfHeight)));
73
+                }
74
+
75
+                if (CornerRadius.BottomLeft == 0)
76
+                {
77
+                    result = new CombinedGeometry
78
+                  (GeometryCombineMode.Union, result, new RectangleGeometry
79
+                  (new Rect(0, halfHeight, halfWidth, halfHeight)));
80
+                }
81
+                if (CornerRadius.BottomRight == 0)
82
+                {
83
+                    result = new CombinedGeometry
84
+                  (
85
+                GeometryCombineMode.Union,
86
+                result,
87
+                new RectangleGeometry(new Rect(halfWidth, halfHeight, halfWidth, halfHeight))
88
+                );
89
+                }
90
+                child.Clip = result;
91
+            }
92
+        }
93
+    }
94
+}

+ 8
- 0
XHZB.Desktop/App.cs View File

@@ -84,6 +84,14 @@ namespace XHZB.Desktop
84 84
         /// 主页面
85 85
         /// </summary>
86 86
         public static MainWindow W_MainWindow = null;
87
+        /// <summary>
88
+        /// 工具栏
89
+        /// </summary>
90
+        public static ToolbarWindow W_ToolbarWindow = null;
91
+        /// <summary>
92
+        /// 个人空间
93
+        /// </summary>
94
+        public static UserCenterWindow W_UserCenterWindow = null;
87 95
         #endregion
88 96
         #endregion
89 97
 

BIN
XHZB.Desktop/Images/RollCall/attendance_0_0_0.png View File


BIN
XHZB.Desktop/Images/RollCall/attendance_1.png View File


BIN
XHZB.Desktop/Images/RollCall/attendance_2.png View File


BIN
XHZB.Desktop/Images/RollCall/attendance_3.png View File


BIN
XHZB.Desktop/Images/RollCall/attendance_33.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_0_1_1.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_1.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_10.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_11.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_12.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_13.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_2.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_4.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_5.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_6.png View File


BIN
XHZB.Desktop/Images/RollCall/rollCall_7.png View File


BIN
XHZB.Desktop/Images/ToolBar/img_shared_1.gif View File


BIN
XHZB.Desktop/Images/ToolBar/toolbar_bottom2.png View File


BIN
XHZB.Desktop/Images/ToolBar/toolbar_bottom2_0.png View File


BIN
XHZB.Desktop/Images/ToolBar/下课@2x.png View File


BIN
XHZB.Desktop/Images/ToolBar/我的备课@2x.png View File


BIN
XHZB.Desktop/Images/ToolBar/抢答@2x.png View File


BIN
XHZB.Desktop/Images/ToolBar/本节考勤01@2x.png View File


BIN
XHZB.Desktop/Images/ToolBar/直播@2x.png View File


BIN
XHZB.Desktop/Images/ToolBar/讲评@2x.png View File


BIN
XHZB.Desktop/Images/ToolBar/黑板01@2x.png View File


+ 7
- 2
XHZB.Desktop/MainWindow.xaml.cs View File

@@ -25,9 +25,14 @@ namespace XHZB.Desktop
25 25
         public MainWindow()
26 26
         {
27 27
             InitializeComponent();
28
+
28 29
             //测试页面
29
-            LogHelper.WriteInfoLog("启动!");
30
-            MessageWindow.Show("启动成功!");
30
+            //LogHelper.WriteInfoLog("启动!");
31
+            //MessageWindow.Show("启动成功!");
32
+
33
+          
34
+            APP.W_ToolbarWindow = new ToolbarWindow();
35
+            APP.W_ToolbarWindow.Show();
31 36
         }
32 37
     }
33 38
 }

+ 166
- 0
XHZB.Desktop/ToolbarWindow.xaml View File

@@ -0,0 +1,166 @@
1
+<Window x:Class="XHZB.Desktop.ToolbarWindow"
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:gifLib="http://wpfanimatedgif.codeplex.com"
6
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
7
+        xmlns:local="clr-namespace:XHZB.Desktop" xmlns:views1="clr-namespace:Common.ZB;assembly=Common"
8
+
9
+        Title="ToolbarWindow" Width="276"
10
+    Height="568"
11
+    AllowsTransparency="True"
12
+    Background="Transparent"
13
+    BorderThickness="1"
14
+    Closed="toolbar_win_Closed"
15
+    ContentRendered="toolbar_win_ContentRendered"
16
+    Loaded="toolbar_win_Loaded"
17
+    Opacity="1"
18
+    ResizeMode="NoResize"
19
+    ShowInTaskbar="False"
20
+    WindowStyle="None"
21
+    mc:Ignorable="d">
22
+    <Window.Resources>
23
+        <DataTemplate x:Key="ToolbarMenu">
24
+            <Button
25
+                x:Name="toolbar_item"
26
+                Height="73"
27
+                Background="Transparent"
28
+                BorderBrush="Transparent"
29
+                BorderThickness="0"
30
+                Click="toolbar_item_Click"
31
+                Cursor="Hand">
32
+                <Button.Content>
33
+                    <StackPanel Width="Auto" Background="Transparent">
34
+                        <Image
35
+                            Width="43"
36
+                            HorizontalAlignment="Center"
37
+                            gifLib:ImageBehavior.AnimatedSource="{Binding Pic}" />
38
+                        <TextBlock
39
+                            Padding="0,2,1,0"
40
+                            HorizontalAlignment="Center"
41
+                            FontSize="14"
42
+                            Foreground="#3C525B"
43
+                            Text="{Binding Name}" />
44
+                    </StackPanel>
45
+                </Button.Content>
46
+            </Button>
47
+        </DataTemplate>
48
+    </Window.Resources>
49
+
50
+    <Canvas Background="Transparent" ClipToBounds="True">
51
+
52
+        <views1:ClippingBorder
53
+            x:Name="toolbar"
54
+            Canvas.Right="24"
55
+            Canvas.Bottom="96"
56
+            Width="77"
57
+            Height="450"
58
+            Padding="0,0,0,0"
59
+            Background="#f3f3f3"
60
+            BorderBrush="#66000000"
61
+            BorderThickness="1"
62
+            ClipToBounds="True"
63
+            CornerRadius="10">
64
+            <ItemsControl
65
+                x:Name="toolbar_list"
66
+                Grid.Row="0"
67
+                Width="77"
68
+                Height="666"
69
+                BorderThickness="0"
70
+                ItemTemplate="{StaticResource ToolbarMenu}"
71
+                ItemsSource="{Binding menuList}"
72
+                ScrollViewer.HorizontalScrollBarVisibility="Disabled"
73
+                ScrollViewer.VerticalScrollBarVisibility="Disabled" />
74
+        </views1:ClippingBorder>
75
+        <Grid
76
+            Canvas.Right="0"
77
+            Canvas.Bottom="0"
78
+            Width="125"
79
+            Height="122"
80
+            Margin="0,0,0,0">
81
+
82
+            <Image Width="auto" HorizontalAlignment="Center">
83
+                <Image.Style>
84
+                    <Style TargetType="Image">
85
+                        <Style.Triggers>
86
+                            <DataTrigger Binding="{Binding IsOpen}" Value="true">
87
+                                <Setter Property="Source" Value="./Images/ToolBar/toolbar_bottom2_0.png" />
88
+                            </DataTrigger>
89
+                            <DataTrigger Binding="{Binding IsOpen}" Value="false">
90
+                                <Setter Property="Source" Value="./Images/ToolBar/toolbar_bottom2.png" />
91
+                            </DataTrigger>
92
+                        </Style.Triggers>
93
+                    </Style>
94
+                </Image.Style>
95
+            </Image>
96
+            <TextBlock
97
+                x:Name="txbName"
98
+                Margin="0,65,0,0"
99
+                HorizontalAlignment="Center"
100
+                FontSize="18"
101
+                FontWeight="Black"
102
+                Foreground="White"
103
+                Text="" />
104
+            <Rectangle
105
+                Width="auto"
106
+                Height="auto"
107
+                Cursor="SizeAll"
108
+                Fill="Transparent"
109
+                MouseLeftButtonDown="Window_MouseLeftButtonDown_1"
110
+                MouseLeftButtonUp="Rectangle_MouseLeftButtonUp"
111
+                MouseMove="Rectangle_MouseMove" />
112
+        </Grid>
113
+
114
+        <UniformGrid
115
+            Name="ketangTool"
116
+            Canvas.Top="365"
117
+            Canvas.Right="100"
118
+            Width="0"
119
+            Height="73"
120
+            Background="#f3f3f3"
121
+            Rows="1">
122
+            <Button
123
+                x:Name="heiban_btn"
124
+                Background="Transparent"
125
+                BorderBrush="Transparent"
126
+                BorderThickness="0"
127
+                Cursor="Hand">
128
+                <Button.Content>
129
+                    <StackPanel Width="Auto" Background="Transparent">
130
+                        <Image
131
+                            Width="43"
132
+                            HorizontalAlignment="Center"
133
+                            Source="./Images/ToolBar/黑板01@2x.png" />
134
+                        <TextBlock
135
+                            Padding="0,2,0,0"
136
+                            HorizontalAlignment="Center"
137
+                            FontSize="14"
138
+                            Foreground="#3C525B"
139
+                            Text="黑板" />
140
+                    </StackPanel>
141
+                </Button.Content>
142
+            </Button>
143
+            <Button
144
+                x:Name="pizhu_btn"
145
+                Background="Transparent"
146
+                BorderBrush="Transparent"
147
+                BorderThickness="0"
148
+                Cursor="Hand">
149
+                <Button.Content>
150
+                    <StackPanel Width="Auto" Background="Transparent">
151
+                        <Image
152
+                            Width="43"
153
+                            HorizontalAlignment="Center"
154
+                            Source="./Images/ToolBar/讲评@2x.png" />
155
+                        <TextBlock
156
+                            Padding="0,2,0,0"
157
+                            HorizontalAlignment="Center"
158
+                            FontSize="14"
159
+                            Foreground="#3C525B"
160
+                            Text="批注" />
161
+                    </StackPanel>
162
+                </Button.Content>
163
+            </Button>
164
+        </UniformGrid>
165
+    </Canvas>
166
+</Window>

+ 370
- 0
XHZB.Desktop/ToolbarWindow.xaml.cs View File

@@ -0,0 +1,370 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Collections.ObjectModel;
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.Shapes;
15
+using XHZB.Model;
16
+using Common.ZB;
17
+using XHZB.Desktop.Utils;
18
+using Common.system;
19
+
20
+namespace XHZB.Desktop
21
+{
22
+    /// <summary>
23
+    /// ToolbarWindow.xaml 的交互逻辑
24
+    /// </summary>
25
+    public partial class ToolbarWindow : Window
26
+    {
27
+        #region 字段
28
+        /// <summary>
29
+        /// 屏幕宽
30
+        /// </summary>
31
+        internal double pwidth = SystemParameters.PrimaryScreenWidth;
32
+        /// <summary>
33
+        /// 屏幕高
34
+        /// </summary>
35
+        internal double pHeight = SystemParameters.PrimaryScreenHeight;
36
+        /// <summary>
37
+        /// 工具栏数据
38
+        /// </summary>
39
+        internal ToolbarModel pageData = new ToolbarModel();
40
+        #endregion
41
+
42
+        #region 初始化
43
+        public ToolbarWindow()
44
+        {
45
+            InitializeComponent();
46
+            Topmost = true;
47
+            Left = pwidth - 300;
48
+            Top = (pHeight - 568) / 2;
49
+
50
+            pageData.menuList.Add(new ToolbarMenu()
51
+            {
52
+                Name = "个人空间",
53
+                Pic = "../Images/ToolBar/我的备课@2x.png"
54
+            });
55
+            pageData.menuList.Add(new ToolbarMenu()
56
+            {
57
+                Name = "直播",
58
+                Pic = "../Images/ToolBar/直播@2x.png"
59
+            });
60
+            pageData.menuList.Add(new ToolbarMenu()
61
+            {
62
+                Name = "抢答点名",
63
+                Pic = "../Images/ToolBar/抢答@2x.png"
64
+            });
65
+            pageData.menuList.Add(new ToolbarMenu()
66
+            {
67
+                Name = "课堂工具",
68
+                Pic = "../Images/ToolBar/黑板01@2x.png"
69
+            });
70
+            pageData.menuList.Add(new ToolbarMenu()
71
+            {
72
+                Name = "本节考勤",
73
+                Pic = "../Images/ToolBar/本节考勤01@2x.png"
74
+            });
75
+            pageData.menuList.Add(new ToolbarMenu()
76
+            {
77
+                Name = "结束课堂",
78
+                Pic = "../Images/ToolBar/下课@2x.png"
79
+            });
80
+
81
+            DataContext = pageData;
82
+        }
83
+        #endregion
84
+
85
+
86
+
87
+
88
+
89
+
90
+        #region 事件
91
+        /// <summary>
92
+        /// 模块点击
93
+        /// </summary>
94
+        /// <param name="sender"></param>
95
+        /// <param name="e"></param>
96
+        private void toolbar_item_Click(object sender, RoutedEventArgs e)
97
+        {
98
+            int clickindex = 0;
99
+            List<Button> buttons = VTHelper.FindChilds<Button>(toolbar_list, "toolbar_item");
100
+            for (int i = 0; i < buttons.Count; i++)
101
+            {
102
+                if (buttons[i] == sender)
103
+                {
104
+                    clickindex = i;
105
+                    break;
106
+                }
107
+            }
108
+            ToolbarMenu item = pageData.menuList[clickindex];
109
+            if (clickindex == 0)//个人空间
110
+            {
111
+                try
112
+                {
113
+                    //HideLevel2();
114
+                    if (APP.W_UserCenterWindow != null && !APP.W_UserCenterWindow.IsFocused)
115
+                    {
116
+                        APP.W_UserCenterWindow.Focus();
117
+                    }
118
+                    else
119
+                    {
120
+                        APP.W_UserCenterWindow = new UserCenterWindow();
121
+                        APP.W_UserCenterWindow.Show();
122
+                        APP.W_UserCenterWindow.Closed += UserCenterWindow_Closed;
123
+                    }
124
+                    //IsOpenUserCenterWindow = true;
125
+                }
126
+                catch (Exception ex)
127
+                {
128
+                    //IsOpenUserCenterWindow = false;
129
+                    //userCenterWindow = null;
130
+                    LogHelper.WriteErrLog("【个人空间(toolbar_item_Click)" + ex.Message, ex);
131
+                }
132
+            }
133
+            else if (clickindex == 1)//直播
134
+            {
135
+                //HideLevel2();
136
+                pageData.tongping = !pageData.tongping;
137
+                if (pageData.tongping)
138
+                {
139
+                    //tongpingBegin();
140
+                    pageData.menuList[1].Pic = "../Images/ToolBar/img_shared_1.gif";
141
+                    pageData.menuList[1].Name = "正在直播";
142
+                }
143
+                else
144
+                {
145
+                    //tongpingEnd();
146
+                    pageData.menuList[1].Pic = "../Images/ToolBar/直播@2x.png";
147
+                    pageData.menuList[1].Name = "直播";
148
+                }
149
+            }
150
+            //else if (clickindex == 2)//课堂提问
151
+            //{
152
+            //    HideLevel2();
153
+            //    try
154
+            //    {
155
+            //        #region 关闭冲突页面
156
+
157
+            //        CloseOrHideWindowPage();
158
+            //        #endregion 关闭冲突页面
159
+
160
+            //        if (screenshotWindow != null)
161
+            //        {
162
+            //            screenshotWindow.initialization();
163
+            //        }
164
+            //        else
165
+            //        {
166
+            //            screenshotWindow = new ScreenshotWindow();
167
+            //            // 订阅事件
168
+            //            screenshotWindow.ChangeTextEvent += new ChangeTextHandler(frm_ChangeTextEvent);
169
+            //            screenshotWindow.click_closeJietuWindowClick += JietuWindow_click_closeJietuWindowClick;
170
+
171
+            //        }
172
+
173
+            //        screenshotWindow.Owner = this;
174
+            //        screenshotWindow.Show();
175
+            //        jietuType = 1;
176
+            //        //ZSocketServer.getInstance().addWin(jietuWindow);
177
+            //        //jietuWindow = null;
178
+            //        //GC.Collect();
179
+            //    }
180
+            //    catch (Exception ex)
181
+            //    {
182
+            //        jietuWindow = null;
183
+            //        LogHelper.WriteErrLog("【课堂提问(toolbar_item_Click)" + ex.Message, ex);
184
+            //    }
185
+            //}
186
+            //else if (clickindex == 4)//抢答点名
187
+            //{
188
+            //    HideLevel2();
189
+            //    try
190
+            //    {
191
+            //        #region 关闭冲突页面
192
+
193
+            //        if (IsOpenRollCallWindow)
194
+            //        {
195
+            //            return;
196
+            //        }
197
+            //        else
198
+            //        {
199
+            //            CloseOrHideWindowPage();
200
+            //        }
201
+
202
+            //        #endregion 关闭冲突页面
203
+
204
+            //        if (rollCallWindow == null)
205
+            //        {
206
+            //            rollCallWindow = new RollCallWindow();
207
+            //            rollCallWindow.click_closeClick += RollCallWindow_click_closeClick;
208
+            //        }
209
+            //        else
210
+            //        {
211
+            //            rollCallWindow.Initialize();
212
+            //        }
213
+            //        rollCallWindow.Owner = this;
214
+            //        //ZSocketServer.getInstance().addWin(rollCallWindow);
215
+            //        IsOpenRollCallWindow = true;
216
+            //        rollCallWindow.Show();
217
+            //    }
218
+            //    catch (Exception ex)
219
+            //    {
220
+            //        IsOpenRollCallWindow = false;
221
+            //        rollCallWindow = null;
222
+            //        LogHelper.WriteErrLog("【抢答点名(toolbar_item_Click)" + ex.Message, ex);
223
+            //    }
224
+            //}
225
+            //else if (clickindex == 5)//课堂工具。
226
+            //{
227
+            //    try
228
+            //    {
229
+            //        heibanshow = !heibanshow;
230
+            //        List<DependencyObject> list = new List<DependencyObject>
231
+            //        {
232
+            //            heiban_btn,
233
+            //            pizhu_btn
234
+            //        };
235
+            //        if (tangceshow)
236
+            //        {
237
+            //            tangceshow = !tangceshow;
238
+            //            List<DependencyObject> lists = new List<DependencyObject>
239
+            //            {
240
+            //                import_word_btn,
241
+            //                jietu_btn
242
+            //            };
243
+            //            hideOrShow(tangceshow, tangceTool, lists);
244
+            //        }
245
+            //        hideOrShow(heibanshow, ketangTool, list);
246
+            //    }
247
+            //    catch (Exception ex)
248
+            //    {
249
+            //        LogHelper.WriteErrLog("【课堂工具(toolbar_item_Click)" + ex.Message, ex);
250
+            //    }
251
+            //}
252
+            //else if (clickindex == 7)//本节考勤
253
+            //{
254
+            //    HideLevel2();
255
+            //    try
256
+            //    {
257
+            //        showKaoqin();
258
+            //    }
259
+            //    catch (Exception ex)
260
+            //    {
261
+            //        LogHelper.WriteErrLog("【考勤(toolbar_item_Click)" + ex.Message, ex);
262
+            //    }
263
+            //}
264
+            //else if (clickindex == 8)//结束课堂。
265
+            //{
266
+            //    if (MessageWindow.Show("是否结束课堂?", "提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
267
+            //    {
268
+            //        closeAction();
269
+            //    }
270
+            //}
271
+        }
272
+        /// <summary>
273
+        /// 个人空间关闭
274
+        /// </summary>
275
+        /// <param name="sender"></param>
276
+        /// <param name="e"></param>
277
+        private void UserCenterWindow_Closed(object sender, EventArgs e)
278
+        {
279
+            APP.W_UserCenterWindow = null;
280
+            //IsOpenUserCenterWindow = false;
281
+        }
282
+        private void toolbar_win_Closed(object sender, EventArgs e)
283
+        {
284
+
285
+        }
286
+
287
+        private void toolbar_win_ContentRendered(object sender, EventArgs e)
288
+        {
289
+
290
+        }
291
+
292
+        private void toolbar_win_Loaded(object sender, RoutedEventArgs e)
293
+        {
294
+
295
+        }
296
+
297
+        private void Window_MouseLeftButtonDown_1(object sender, MouseButtonEventArgs e)
298
+        {
299
+
300
+        }
301
+
302
+        private void Rectangle_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
303
+        {
304
+
305
+        }
306
+        /// <summary>
307
+        /// 工具栏移动事件
308
+        /// </summary>
309
+        /// <param name="sender"></param>
310
+        /// <param name="e"></param>
311
+        private void Rectangle_MouseMove(object sender, MouseEventArgs e)
312
+        {
313
+            if (e.LeftButton == MouseButtonState.Pressed)
314
+            {
315
+                DragMove();
316
+            }
317
+        }
318
+        #endregion
319
+    }
320
+    /// <summary>
321
+    /// 工具栏模型
322
+    /// </summary>
323
+    public class ToolbarModel : NotifyModel
324
+    {
325
+        public ObservableCollection<ToolbarMenu> menuList { get; set; }
326
+
327
+        internal bool _tongping = false;
328
+
329
+        public bool tongping
330
+        {
331
+            get => _tongping;
332
+            set { _tongping = value; OnPropertyChanged("tongping"); }
333
+        }
334
+
335
+        internal bool _IsOpen = true;
336
+
337
+        public bool IsOpen
338
+        {
339
+            get => _IsOpen;
340
+            set { _IsOpen = value; OnPropertyChanged("IsOpen"); }
341
+        }
342
+
343
+        public ToolbarModel()
344
+        {
345
+            menuList = new ObservableCollection<ToolbarMenu>();
346
+        }
347
+    }
348
+
349
+    /// <summary>
350
+    /// 工具栏菜单模型
351
+    /// </summary>
352
+    public class ToolbarMenu : NotifyModel
353
+    {
354
+        internal string _name;
355
+
356
+        public string Name
357
+        {
358
+            get => _name;
359
+            set { _name = value; OnPropertyChanged("Name"); }
360
+        }
361
+
362
+        internal string _Pic;
363
+
364
+        public string Pic
365
+        {
366
+            get => _Pic;
367
+            set { _Pic = value; OnPropertyChanged("Pic"); }
368
+        }
369
+    }
370
+}

+ 544
- 0
XHZB.Desktop/UserCenterWindow.xaml View File

@@ -0,0 +1,544 @@
1
+<Window x:Class="XHZB.Desktop.UserCenterWindow"
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:Views="clr-namespace:Common.ZB;assembly=Common" xmlns:cv="clr-namespace:XHZB.Desktop.Utils"
7
+        Title="星火智慧校园"
8
+        Width="1066"
9
+    Height="768"
10
+    AllowsTransparency="True"
11
+    Closing="Window_Closing"
12
+    WindowStartupLocation="CenterScreen"
13
+    WindowStyle="None"
14
+    mc:Ignorable="d" BorderThickness="1">
15
+    <Window.Effect>
16
+        <DropShadowEffect BlurRadius="10" Color="#bababa" Direction="80" ShadowDepth="0"/>
17
+    </Window.Effect>
18
+    <Window.Background>
19
+        <SolidColorBrush Opacity="1" />
20
+    </Window.Background>
21
+    <Window.Resources>
22
+        <!--Combox右侧下拉按钮-->
23
+        <Style TargetType="ToggleButton" x:Key="ComboxStyleBtn">
24
+            <Setter Property="Template">
25
+                <Setter.Value>
26
+                    <ControlTemplate>
27
+                        <!--下拉按钮内部背景色-->
28
+                        <Border x:Name="Back" Background="Transparent" BorderThickness="1" BorderBrush="Transparent">
29
+                            <!--下拉按钮内边框-->
30
+                            <Label Name="PathFill" Content="ˇ" FontSize="32" Padding="0,16,3,0" HorizontalAlignment="Right">
31
+
32
+                            </Label>
33
+                        </Border>
34
+                        <ControlTemplate.Triggers>
35
+                            <Trigger Property="IsMouseOver" Value="True">
36
+
37
+                                <Setter TargetName="Back" Property="Background" Value="Transparent"></Setter>
38
+                                <Setter TargetName="Back" Property="BorderBrush" Value="Transparent"></Setter>
39
+                            </Trigger>
40
+                        </ControlTemplate.Triggers>
41
+                    </ControlTemplate>
42
+                </Setter.Value>
43
+            </Setter>
44
+        </Style>
45
+        <!--Combox-->
46
+        <Style TargetType="ComboBox" x:Key="ComboBoxStyle">
47
+            <Setter Property="ItemContainerStyle">
48
+                <Setter.Value>
49
+                    <!--ComBoxItem-->
50
+                    <Style TargetType="ComboBoxItem">
51
+                        <Setter Property="MinHeight" Value="50"></Setter>
52
+                        <Setter Property="MinWidth" Value="60"></Setter>
53
+                        <Setter Property="Template">
54
+                            <Setter.Value>
55
+                                <ControlTemplate TargetType="ComboBoxItem">
56
+                                    <Border Name="Back" Background="Transparent"  BorderThickness="0,0,0,0" BorderBrush="#f3f3f3">
57
+                                        <ContentPresenter ContentSource="{Binding Source}" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="10,0,0,0" ></ContentPresenter>
58
+                                    </Border>
59
+                                    <ControlTemplate.Triggers>
60
+                                        <Trigger Property="IsMouseOver" Value="True">
61
+                                            <Setter TargetName="Back" Property="Background" Value="#f3f3f3"></Setter>
62
+                                        </Trigger>
63
+                                        <!--下拉框背景色-->
64
+                                        <Trigger Property="IsHighlighted" Value="True">
65
+                                            <Setter TargetName="Back" Property="Background" Value="#f3f3f3"></Setter>
66
+                                        </Trigger>
67
+                                    </ControlTemplate.Triggers>
68
+                                </ControlTemplate>
69
+                            </Setter.Value>
70
+                        </Setter>
71
+                    </Style>
72
+                </Setter.Value>
73
+            </Setter>
74
+            <Setter Property="Template">
75
+                <Setter.Value>
76
+                    <ControlTemplate TargetType="ComboBox">
77
+                        <Grid>
78
+                            <Grid.ColumnDefinitions>
79
+
80
+                            </Grid.ColumnDefinitions>
81
+                            <Border  Grid.Column="0" BorderThickness="0.6" BorderBrush="#c0c0c0" CornerRadius="1,0,0,1" Background="#edeeee">
82
+
83
+                            </Border>
84
+                            <!--文字区域背景和边线样式-->
85
+                            <TextBox Background="#edeeee" Padding="10,0,0,0" VerticalAlignment="Center"  Grid.Column="0" Foreground="Black" BorderBrush="#c0c0c0" BorderThickness="0" IsReadOnly="{TemplateBinding IsReadOnly}" Text="{TemplateBinding Text}"></TextBox>
86
+
87
+                            <!--右侧下拉button设置-->
88
+                            <Border Grid.Column="1" BorderThickness="0,0.6,0.6,0.6" BorderBrush="#c0c0c0" CornerRadius="0,1,1,0" >
89
+                                <ToggleButton BorderThickness="3" BorderBrush="Black" Style="{StaticResource ComboxStyleBtn}" IsChecked="{Binding Path=IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"></ToggleButton>
90
+                            </Border>
91
+                            <!--弹出popup整体设置-->
92
+                            <Popup IsOpen="{TemplateBinding IsDropDownOpen}" Placement="Bottom" x:Name="Popup" Focusable="False" AllowsTransparency="True" PopupAnimation="Slide">
93
+                                <!--弹出popup边框-->
94
+                                <Border CornerRadius="1" BorderBrush="#d2d2d2" BorderThickness="1,0,1,1" MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{TemplateBinding ActualWidth}" x:Name="DropDown" SnapsToDevicePixels="True">
95
+                                    <Border.Effect>
96
+                                        <DropShadowEffect Color="Black" BlurRadius="2" ShadowDepth="0" Opacity="1"/>
97
+                                    </Border.Effect>
98
+                                    <!--下拉幕布边界背景设置 MaxHeight="{TemplateBinding MaxDropDownHeight}"-->
99
+                                    <ScrollViewer Margin="0,0,0,0"  SnapsToDevicePixels="True" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" BorderBrush="#17acae" BorderThickness="2" >
100
+                                        <!-- StackPanel 用于显示子级,方法是将 IsItemsHost 设置为 True -->
101
+                                        <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" Background="#FFFFFF"/>
102
+                                    </ScrollViewer>
103
+                                </Border>
104
+                            </Popup>
105
+                        </Grid>
106
+                    </ControlTemplate>
107
+                </Setter.Value>
108
+            </Setter>
109
+        </Style>
110
+
111
+        <cv:ColorBgConverter x:Key="colorBgConvert" />
112
+        <cv:ColorTextConverter x:Key="colorTextConvert" />
113
+
114
+        <Style x:Key="ButtonStyle">
115
+            <Setter Property="Button.Width" Value="35"/>
116
+            <Setter Property="Button.Height" Value="35"/>
117
+            <Setter Property="Button.Margin" Value="3,0,0,0"/>
118
+        </Style>
119
+
120
+        <Style x:Key="ListBoxItemContainerStyle" TargetType="{x:Type ListBoxItem}">
121
+            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
122
+            <Setter Property="HorizontalAlignment" Value="Stretch" />
123
+            <Setter Property="Template">
124
+                <Setter.Value>
125
+                    <ControlTemplate TargetType="{x:Type ListBoxItem}">
126
+                        <Border
127
+                            Background="Transparent"
128
+                            BorderBrush="Transparent"
129
+                            BorderThickness="0">
130
+                            <ContentPresenter />
131
+                        </Border>
132
+                        <ControlTemplate.Triggers />
133
+                    </ControlTemplate>
134
+                </Setter.Value>
135
+            </Setter>
136
+        </Style>
137
+        <DataTemplate x:Key="zhangjieDt">
138
+            <Border
139
+                Grid.Column="1"
140
+                Grid.ColumnSpan="3"
141
+                Height="Auto"
142
+                Background="White" 
143
+                CornerRadius="0,0,0,0">
144
+                <Grid>
145
+                    <Button Cursor="Hand"
146
+                        Margin="0,0,0,0"
147
+                        HorizontalAlignment="Stretch"
148
+                        Click="zhangjieClick"
149
+                        Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
150
+                        Tag="{Binding}">
151
+                        <Button.Template>
152
+                            <ControlTemplate TargetType="{x:Type Button}">
153
+                                <Border
154
+                                    BorderBrush="{TemplateBinding Control.BorderBrush}"
155
+                                    BorderThickness="0"
156
+                                    CornerRadius="0">
157
+                                    <ContentPresenter VerticalAlignment="Center" Content="{TemplateBinding ContentControl.Content}" />
158
+                                </Border>
159
+                            </ControlTemplate>
160
+                        </Button.Template>
161
+                        <TextBlock
162
+                            Padding="13" FontSize="13"
163
+                            Background="{Binding selected, Converter={StaticResource colorBgConvert}}"
164
+                            Foreground="{Binding selected, Converter={StaticResource colorTextConvert}}"
165
+                            Text="{Binding directorname}" />
166
+                    </Button>
167
+                </Grid>
168
+            </Border>
169
+        </DataTemplate>
170
+        <DataTemplate x:Key="ToolbarMenu">
171
+
172
+
173
+            <Border  Grid.Column="1"
174
+                Grid.ColumnSpan="3"
175
+                Height="100"
176
+                Margin="10,15,10,0"
177
+                Background="#edeeee"
178
+                CornerRadius="6">
179
+                <Border 
180
+             Margin="2"
181
+                Background="White"
182
+                CornerRadius="6">
183
+                    <Grid Height="100" >
184
+                        <Grid.ColumnDefinitions>
185
+                            <ColumnDefinition Width="80" />
186
+                            <ColumnDefinition Width="*" />
187
+                            <ColumnDefinition Width="160" />
188
+                        </Grid.ColumnDefinitions>
189
+                        <Image
190
+                        x:Name="imgResourceMyList"
191
+                        Grid.Column="0"
192
+                
193
+                        Height="80"
194
+                        Margin="15,0,0,0"
195
+                        Source="{Binding Pic, Mode=TwoWay}" />
196
+                        <Grid Grid.Column="1">
197
+                            <Grid.RowDefinitions>
198
+                                <RowDefinition Height="*" />
199
+                                <RowDefinition Height="*" />
200
+                            </Grid.RowDefinitions>
201
+                            <Grid.ColumnDefinitions>
202
+                                <ColumnDefinition Width="*" />
203
+                            </Grid.ColumnDefinitions>
204
+                            <TextBlock
205
+                            x:Name="txbFileName"
206
+                            Grid.Row="0"
207
+                            Margin="15,15,0,0"
208
+                            VerticalAlignment="Center"
209
+                            FontSize="20"
210
+                            Text="{Binding ResourceName, Mode=TwoWay}" />
211
+                            <StackPanel
212
+                            Grid.Row="1"
213
+                            Margin="15,0,0,2"
214
+                            Orientation="Horizontal">
215
+                                <TextBlock
216
+                                Margin="5,0,0,0"
217
+                                VerticalAlignment="Center"
218
+                                FontSize="16"
219
+                                Text="大小: " />
220
+                                <TextBlock
221
+                                Margin="5,0,0,0"
222
+                                VerticalAlignment="Center"
223
+                                FontSize="16"
224
+                                Text="{Binding Resourcesize, Mode=TwoWay}" />
225
+                                <TextBlock
226
+                                Margin="15,0,0,0"
227
+                                VerticalAlignment="Center"
228
+                                FontSize="16"
229
+                                Text="时间: " />
230
+                                <TextBlock
231
+                                Margin="5,2,0,0"
232
+                                VerticalAlignment="Center"
233
+                                FontSize="16"
234
+                                Text="{Binding Times, Mode=TwoWay}" />
235
+                                <TextBlock
236
+                                Margin="15,0,0,0"
237
+                                VerticalAlignment="Center"
238
+                                FontSize="16"
239
+                                Text="时长: "
240
+                                Visibility="{Binding VisDuration}" />
241
+                                <TextBlock
242
+                                Margin="5,0,0,0"
243
+                                VerticalAlignment="Center"
244
+                                FontSize="16"
245
+                                Text="{Binding Duration}"
246
+                                Visibility="{Binding VisDuration}" />
247
+                            </StackPanel>
248
+                        </Grid>
249
+                        <Button 
250
+                        x:Name="btnDownload"
251
+                        Grid.Column="2"
252
+                        Width="100"
253
+                        Height="46"
254
+                        Margin="0,0,15,0"
255
+                        Padding="0,0,0,0"
256
+                        HorizontalAlignment="Right"
257
+                        Click="btnDownload_Click"
258
+                        Cursor="Hand"
259
+                        FontSize="16"
260
+                        Foreground="#FFFFFF"
261
+                        Tag="{Binding Resourceid}"
262
+                        Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
263
+                            <StackPanel Orientation="Horizontal" Visibility="{Binding VisDownload}">
264
+                                <TextBlock
265
+                                Margin="0,0,0,0"
266
+                                FontSize="18"
267
+                                Foreground="#FFFFFF"
268
+                                Text="下载" />
269
+                            </StackPanel>
270
+                            <Button.Template>
271
+                                <ControlTemplate TargetType="{x:Type Button}">
272
+                                    <Border
273
+                                    BorderBrush="{TemplateBinding Control.BorderBrush}"
274
+                                    BorderThickness="1"
275
+                                    CornerRadius="8">
276
+                                        <Border.Background>#6098FF</Border.Background>
277
+                                        <ContentPresenter
278
+                                        HorizontalAlignment="Center"
279
+                                        VerticalAlignment="Center"
280
+                                        Content="{TemplateBinding ContentControl.Content}" />
281
+                                    </Border>
282
+                                </ControlTemplate>
283
+                            </Button.Template>
284
+                        </Button>
285
+                        <Button
286
+                        x:Name="btnTurnOn"
287
+                        Grid.Column="2"
288
+                        Width="100"
289
+                        Height="46"
290
+                    Margin="0,0,15,0"
291
+                        Padding="0,0,0,0"
292
+                        HorizontalAlignment="Right"
293
+                        Click="btnTurnOn_Click"
294
+                        Cursor="Hand"
295
+                        FontSize="16"
296
+                        Foreground="#FFFFFF"
297
+                        Tag="{Binding Resourceid}"
298
+                        Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}"
299
+                        Visibility="{Binding VisButton}">
300
+                            <StackPanel Orientation="Horizontal">
301
+                                <TextBlock
302
+                                Margin="0,0,0,0"
303
+                                FontSize="18"
304
+                                Foreground="#FFFFFF"
305
+                                Text="打开" />
306
+                            </StackPanel>
307
+                            <Button.Template>
308
+                                <ControlTemplate TargetType="{x:Type Button}">
309
+                                    <Border
310
+                                    BorderBrush="{TemplateBinding Control.BorderBrush}"
311
+                                    BorderThickness="1"
312
+                                    CornerRadius="8">
313
+                                        <Border.Background>#FC854B</Border.Background>
314
+                                        <ContentPresenter
315
+                                        HorizontalAlignment="Center"
316
+                                        VerticalAlignment="Center"
317
+                                        Content="{TemplateBinding ContentControl.Content}" />
318
+                                    </Border>
319
+                                </ControlTemplate>
320
+                            </Button.Template>
321
+                        </Button>
322
+                    </Grid>
323
+                </Border>
324
+            </Border>
325
+        </DataTemplate>
326
+    </Window.Resources>
327
+    <Grid
328
+        Width="1066"
329
+        Height="768"
330
+        Margin="0,0,0,0"
331
+        Visibility="Visible">
332
+
333
+        <Views:ClippingBorder
334
+            Background="#fafafa"
335
+            BorderBrush="#33000000"
336
+            BorderThickness="1"
337
+            CornerRadius="20">
338
+            <Grid>
339
+                <Grid.RowDefinitions>
340
+                    <RowDefinition Height="64" />
341
+                    <RowDefinition Height="*" />
342
+                </Grid.RowDefinitions>
343
+                <Grid
344
+                    Grid.Row="0"
345
+                    Background="#4597FF"
346
+                    MouseMove="Window_MouseMove">
347
+                    <TextBlock
348
+                        Grid.Row="0"
349
+                        Margin="15,0,0,0"
350
+                        HorizontalAlignment="Left"
351
+                        VerticalAlignment="Center"
352
+                        FontSize="26"
353
+                        Foreground="White"
354
+                        Text="个人空间" />
355
+
356
+                    <Button Cursor="Hand"
357
+                        x:Name="btnDown"
358
+                        Grid.Column="0"
359
+                        Width="46"
360
+                        Height="46"
361
+                        Margin="0,0,10,0"
362
+                        HorizontalAlignment="Right"
363
+                        VerticalAlignment="Center"
364
+                        Background="White"
365
+                        Click="btnDown_Click"
366
+                        Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
367
+                        <Button.Template>
368
+                            <ControlTemplate TargetType="{x:Type Button}">
369
+                                <Border
370
+                                    BorderBrush="{TemplateBinding Control.BorderBrush}"
371
+                                    BorderThickness="0"
372
+                                    CornerRadius="20">
373
+                                    <ContentPresenter
374
+                                        HorizontalAlignment="Center"
375
+                                        VerticalAlignment="Center"
376
+                                        Content="{TemplateBinding ContentControl.Content}" />
377
+                                </Border>
378
+                            </ControlTemplate>
379
+                        </Button.Template>
380
+                        <Image
381
+                            Width="40"
382
+                            Height="40"
383
+                            HorizontalAlignment="Center"
384
+                            VerticalAlignment="Center"
385
+                            Source="./Images/RollCall/rollCall_1.png"
386
+                            Stretch="Fill" />
387
+                    </Button>
388
+                </Grid>
389
+                <Grid Grid.Row="1">
390
+                    <Grid.ColumnDefinitions>
391
+                        <ColumnDefinition Width="300" />
392
+                        <ColumnDefinition Width="3*" />
393
+                    </Grid.ColumnDefinitions>
394
+                    <!--  区域 左  -->
395
+                    <Border
396
+                        Grid.Column="0"
397
+                        Margin="0,0,0,0"
398
+                        Background="#FFFFFF"
399
+                        CornerRadius="0,0,20,0">
400
+                        <Grid Grid.Column="0">
401
+                            <Grid.RowDefinitions>
402
+                                <RowDefinition Height="50" />
403
+                                <RowDefinition Height="*" />
404
+                            </Grid.RowDefinitions>
405
+                            <ComboBox Cursor="Hand"
406
+                                x:Name="cmbClass"
407
+                                Grid.Row="0"
408
+                                Padding="10,0,10,0"
409
+                                      Style="{StaticResource ComboBoxStyle}"
410
+                                VerticalContentAlignment="Center"
411
+                                BorderThickness="0"
412
+                                DisplayMemberPath="Value"
413
+                                FontSize="16"
414
+                                ItemsSource="{Binding bookList}"
415
+                                SelectedValuePath="Key"
416
+                                SelectionChanged="cmbClass_SelectionChanged" />
417
+                            <ListBox
418
+                                Grid.Row="1"
419
+                                Margin="0,0,0,0"
420
+                                Background="#FAFAFA"
421
+                                BorderThickness="0"
422
+                                ItemContainerStyle="{DynamicResource ListBoxItemContainerStyle}"
423
+                                ItemTemplate="{StaticResource zhangjieDt}"
424
+                                ItemsSource="{Binding zhangjieList}"
425
+                                ScrollViewer.HorizontalScrollBarVisibility="Disabled"
426
+                                ScrollViewer.VerticalScrollBarVisibility="Visible" />
427
+                        </Grid>
428
+                    </Border>
429
+                    <Grid Grid.Column="1">
430
+                        <Grid.RowDefinitions>
431
+                            <RowDefinition Height="50" />
432
+                            <RowDefinition Height="*" />
433
+                        </Grid.RowDefinitions>
434
+                        <StackPanel 
435
+                            Grid.Row="0"
436
+                            Grid.Column="1"
437
+                            Margin="0,0,0,0"
438
+                            Background="#fafafa"
439
+                            Orientation="Horizontal">
440
+                            <TextBlock
441
+                                Padding="20,20,0,0"
442
+                                FontSize="16"
443
+                                Text="类型:" />
444
+                            <Border x:Name="borAll" CornerRadius="6"  Width="72" Height="40" Background="DodgerBlue" Margin="0,6,10,0">
445
+                                <Button Cursor="Hand"  Foreground="White"  
446
+                                x:Name="btnAll" Height="40"
447
+                                Width="72"
448
+                                Padding="0,10,0,10"
449
+                                Click="btnAll_Click"
450
+                                Content="全部"
451
+                                FontSize="16"
452
+                                Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" >
453
+
454
+                                </Button>
455
+                            </Border>
456
+                            <Border x:Name="borAudio" CornerRadius="7"  Width="72" Height="40" Margin="0,6,10,0">
457
+                                <Button Cursor="Hand" 
458
+                                x:Name="btnAudio"
459
+                                Width="72"
460
+                                Padding="0,10,0,10"
461
+                                Click="btnAudio_Click"
462
+                                Content="音频"
463
+                                FontSize="16"
464
+                                Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" />
465
+                            </Border>
466
+                            <Border x:Name="borVideo" CornerRadius="7"  Width="72" Height="40" Margin="0,6,10,0">
467
+                                <Button Cursor="Hand"
468
+                                x:Name="btnVideo"
469
+                                Width="72"
470
+                                Padding="0,10,0,10"
471
+                                Click="btnVideo_Click"
472
+                                Content="视频"
473
+                                FontSize="16"
474
+                                Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" />
475
+                            </Border>
476
+                            <Border x:Name="borImage" CornerRadius="7"  Width="72" Height="40" Margin="0,6,10,0">
477
+                                <Button Cursor="Hand" 
478
+                                x:Name="btnImage"
479
+                                Width="72"
480
+                                Padding="0,10,0,10"
481
+                                Click="btnImage_Click"
482
+                                Content="图片"
483
+                                FontSize="16"
484
+                                Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" 
485
+                                />
486
+                            </Border>
487
+                            <Border x:Name="borDoc" CornerRadius="7"  Width="72" Height="40" Margin="0,6,10,0">
488
+                                <Button Cursor="Hand" 
489
+                                x:Name="btnDoc"
490
+                                Width="72"
491
+                                Padding="0,10,0,10"
492
+                                Click="btnDoc_Click"
493
+                                Content="文档"
494
+                                FontSize="16"
495
+                                Style="{StaticResource {x:Static ToolBar.ButtonStyleKey}}" />
496
+                            </Border>
497
+                        </StackPanel>
498
+                        <ListBox
499
+                            x:Name="toolbar_list"
500
+                            Grid.Row="1"
501
+                            Margin="0,0,0,0"
502
+                            Background="#FAFAFA"
503
+                            BorderThickness="0"
504
+                            ItemContainerStyle="{DynamicResource ListBoxItemContainerStyle}"
505
+                            ItemTemplate="{StaticResource ToolbarMenu}"
506
+                            ItemsSource="{Binding menuList}"
507
+                            ScrollViewer.HorizontalScrollBarVisibility="Disabled"
508
+                            ScrollViewer.VerticalScrollBarVisibility="Visible" />
509
+                    </Grid>
510
+                </Grid>
511
+            </Grid>
512
+        </Views:ClippingBorder>
513
+
514
+        <Views:ClippingBorder
515
+            x:Name="tip_outer"
516
+            Width="760"
517
+            Height="44"
518
+            Margin="0,0,0,0"
519
+            HorizontalAlignment="Center"
520
+            VerticalAlignment="Center"
521
+            Background="#FAFAFA"
522
+            CornerRadius="4"
523
+            Visibility="Collapsed">
524
+            <Grid>
525
+                <ProgressBar BorderBrush="#4597FF"
526
+                             Foreground="#4597FF"
527
+                    Grid.Row="0"
528
+                    x:Name="pgbProcess"
529
+                    Height="20"
530
+                    Margin="10"
531
+                    Visibility="Visible" />
532
+                <Label Grid.Row="0"
533
+                    HorizontalAlignment="Center" Width="160"
534
+                    x:Name="lbProcess"
535
+                    Height="30"
536
+                    Margin="0,0,0,0"
537
+                       FontSize="16"
538
+                    Content=""
539
+                       Foreground="White"
540
+                    Visibility="Visible" />
541
+            </Grid>
542
+        </Views:ClippingBorder>
543
+    </Grid>
544
+</Window>

+ 97
- 0
XHZB.Desktop/UserCenterWindow.xaml.cs View File

@@ -0,0 +1,97 @@
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 XHZB.Desktop
16
+{
17
+    /// <summary>
18
+    /// UserCenterWindow.xaml 的交互逻辑
19
+    /// </summary>
20
+    public partial class UserCenterWindow : Window
21
+    {
22
+        public UserCenterWindow()
23
+        {
24
+            InitializeComponent();
25
+        }
26
+
27
+        private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
28
+        {
29
+
30
+        }
31
+
32
+        private void btnTurnOn_Click(object sender, RoutedEventArgs e)
33
+        {
34
+
35
+        }
36
+
37
+        private void Window_MouseMove(object sender, MouseEventArgs e)
38
+        {
39
+
40
+        }
41
+        /// <summary>
42
+        /// 关闭事件
43
+        /// </summary>
44
+        /// <param name="sender"></param>
45
+        /// <param name="e"></param>
46
+        private void btnDown_Click(object sender, RoutedEventArgs e)
47
+        {
48
+            //if (thread != null)
49
+            //{
50
+            //    thread.Abort();
51
+            //}
52
+            //MyApp.myloading.Hide();
53
+            Close();
54
+            //ToolbarWindow.IsOpenUserCenterWindow = false;
55
+        }
56
+
57
+        private void cmbClass_SelectionChanged(object sender, SelectionChangedEventArgs e)
58
+        {
59
+
60
+        }
61
+
62
+        private void btnAudio_Click(object sender, RoutedEventArgs e)
63
+        {
64
+
65
+        }
66
+
67
+        private void btnVideo_Click(object sender, RoutedEventArgs e)
68
+        {
69
+
70
+        }
71
+
72
+        private void btnImage_Click(object sender, RoutedEventArgs e)
73
+        {
74
+
75
+        }
76
+
77
+        private void btnDoc_Click(object sender, RoutedEventArgs e)
78
+        {
79
+
80
+        }
81
+
82
+        private void zhangjieClick(object sender, RoutedEventArgs e)
83
+        {
84
+
85
+        }
86
+
87
+        private void btnDownload_Click(object sender, RoutedEventArgs e)
88
+        {
89
+
90
+        }
91
+
92
+        private void btnAll_Click(object sender, RoutedEventArgs e)
93
+        {
94
+
95
+        }
96
+    }
97
+}

+ 25
- 0
XHZB.Desktop/Utils/ColorBgConverter.cs View File

@@ -0,0 +1,25 @@
1
+using System;
2
+using System.Windows.Data;
3
+
4
+namespace XHZB.Desktop.Utils
5
+{
6
+    public class ColorBgConverter : IValueConverter
7
+    {
8
+        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
9
+        {
10
+            int v = int.Parse(value.ToString());
11
+            if (v == 0)
12
+            {
13
+                return "#ffffff";
14
+            }
15
+            else
16
+            {
17
+                return "#4597FF";
18
+            }
19
+        }
20
+        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
21
+        {
22
+            return null;
23
+        }
24
+    }
25
+}

+ 25
- 0
XHZB.Desktop/Utils/ColorTextConverter.cs View File

@@ -0,0 +1,25 @@
1
+using System;
2
+using System.Windows.Data;
3
+
4
+namespace XHZB.Desktop.Utils
5
+{
6
+    public class ColorTextConverter : IValueConverter
7
+    {
8
+        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
9
+        {
10
+            int v = int.Parse(value.ToString());
11
+            if (v == 0)
12
+            {
13
+                return "#333333";
14
+            }
15
+            else
16
+            {
17
+                return "#ffffff";
18
+            }
19
+        }
20
+        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
21
+        {
22
+            return null;
23
+        }
24
+    }
25
+}

+ 128
- 0
XHZB.Desktop/Utils/VTHelper.cs View File

@@ -0,0 +1,128 @@
1
+using System.Collections.Generic;
2
+using System.Windows;
3
+using System.Windows.Media;
4
+
5
+namespace XHZB.Desktop.Utils
6
+{
7
+    internal class VTHelper
8
+    {
9
+        public static T FindChild<T>(DependencyObject parent, string childName)
10
+   where T : DependencyObject
11
+        {
12
+            if (parent == null)
13
+            {
14
+                return null;
15
+            }
16
+
17
+            T foundChild = null;
18
+
19
+            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
20
+            for (int i = 0; i < childrenCount; i++)
21
+            {
22
+                DependencyObject child = VisualTreeHelper.GetChild(parent, i);
23
+                // 如果子控件不是需查找的控件类型
24
+                T childType = child as T;
25
+                if (childType == null)
26
+                {
27
+                    // 在下一级控件中递归查找
28
+                    foundChild = FindChild<T>(child, childName);
29
+
30
+                    // 找到控件就可以中断递归操作
31
+                    if (foundChild != null)
32
+                    {
33
+                        break;
34
+                    }
35
+                }
36
+                else if (!string.IsNullOrEmpty(childName))
37
+                {
38
+                    FrameworkElement frameworkElement = child as FrameworkElement;
39
+                    // 如果控件名称符合参数条件
40
+                    if (frameworkElement != null && frameworkElement.Name == childName)
41
+                    {
42
+                        foundChild = (T)child;
43
+                        break;
44
+                    }
45
+                }
46
+                else
47
+                {
48
+                    // 查找到了控件
49
+                    foundChild = (T)child;
50
+                    break;
51
+                }
52
+            }
53
+
54
+            return foundChild;
55
+        }
56
+
57
+        public static List<T> FindChilds<T>(DependencyObject parent, string childName)
58
+   where T : DependencyObject
59
+        {
60
+            List<T> list = new List<T>();
61
+            if (parent == null)
62
+            {
63
+                return list;
64
+            }
65
+
66
+            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
67
+            for (int i = 0; i < childrenCount; i++)
68
+            {
69
+                DependencyObject child = VisualTreeHelper.GetChild(parent, i);
70
+                // 如果子控件不是需查找的控件类型
71
+                T childType = child as T;
72
+                if (childType == null)
73
+                {
74
+                    // 在下一级控件中递归查找
75
+                    List<T> findChildList = FindChilds<T>(child, childName);
76
+                    for (int j = 0; j < findChildList.Count; j++)
77
+                    {
78
+                    }
79
+                    list.AddRange(FindChilds<T>(child, childName));
80
+                }
81
+                else if (!string.IsNullOrEmpty(childName))
82
+                {
83
+                    FrameworkElement frameworkElement = child as FrameworkElement;
84
+                    // 如果控件名称符合参数条件
85
+                    if (frameworkElement != null && frameworkElement.Name == childName)
86
+                    {
87
+                        list.Add((T)child);
88
+                    }
89
+                }
90
+                else
91
+                {
92
+                    // 查找到了控件
93
+                    list.Add((T)child);
94
+                }
95
+            }
96
+
97
+            return list;
98
+        }
99
+
100
+        /// <summary>
101
+        /// 查找父元素
102
+        /// </summary>
103
+        /// <typeparam name="T"></typeparam>
104
+        /// <param name="obj"></param>
105
+        /// <param name="name"></param>
106
+        /// <returns></returns>
107
+        public static T FindParent<T>(DependencyObject i_dp) where T : DependencyObject
108
+        {
109
+            DependencyObject dobj = VisualTreeHelper.GetParent(i_dp);
110
+            if (dobj != null)
111
+            {
112
+                if (dobj is T)
113
+                {
114
+                    return (T)dobj;
115
+                }
116
+                else
117
+                {
118
+                    dobj = FindParent<T>(dobj);
119
+                    if (dobj != null && dobj is T)
120
+                    {
121
+                        return (T)dobj;
122
+                    }
123
+                }
124
+            }
125
+            return null;
126
+        }
127
+    }
128
+}

+ 48
- 0
XHZB.Desktop/XHZB.Desktop.csproj View File

@@ -61,11 +61,20 @@
61 61
     <Reference Include="WindowsBase" />
62 62
     <Reference Include="PresentationCore" />
63 63
     <Reference Include="PresentationFramework" />
64
+    <Reference Include="WpfAnimatedGif, Version=2.0.0.0, Culture=neutral, PublicKeyToken=9e7cd3b544a090dc, processorArchitecture=MSIL">
65
+      <HintPath>..\packages\WpfAnimatedGif.2.0.0\lib\net40\WpfAnimatedGif.dll</HintPath>
66
+    </Reference>
64 67
   </ItemGroup>
65 68
   <ItemGroup>
66 69
     <Compile Include="ToolbarWindow.xaml.cs">
67 70
       <DependentUpon>ToolbarWindow.xaml</DependentUpon>
68 71
     </Compile>
72
+    <Compile Include="UserCenterWindow.xaml.cs">
73
+      <DependentUpon>UserCenterWindow.xaml</DependentUpon>
74
+    </Compile>
75
+    <Compile Include="Utils\ColorBgConverter.cs" />
76
+    <Compile Include="Utils\ColorTextConverter.cs" />
77
+    <Compile Include="Utils\VTHelper.cs" />
69 78
     <Page Include="MainWindow.xaml">
70 79
       <Generator>MSBuild:Compile</Generator>
71 80
       <SubType>Designer</SubType>
@@ -83,6 +92,10 @@
83 92
       <SubType>Designer</SubType>
84 93
       <Generator>MSBuild:Compile</Generator>
85 94
     </Page>
95
+    <Page Include="UserCenterWindow.xaml">
96
+      <SubType>Designer</SubType>
97
+      <Generator>MSBuild:Compile</Generator>
98
+    </Page>
86 99
   </ItemGroup>
87 100
   <ItemGroup>
88 101
     <Compile Include="MessageWindow.xaml.cs">
@@ -111,6 +124,7 @@
111 124
     <EmbeddedResource Include="ffmpegx64.zip">
112 125
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
113 126
     </EmbeddedResource>
127
+    <None Include="packages.config" />
114 128
     <None Include="Properties\app.manifest" />
115 129
     <None Include="Properties\Settings.settings">
116 130
       <Generator>SettingsSingleFileGenerator</Generator>
@@ -135,5 +149,39 @@
135 149
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
136 150
     </EmbeddedResource>
137 151
   </ItemGroup>
152
+  <ItemGroup>
153
+    <Resource Include="Images\ToolBar\直播%402x.png" />
154
+  </ItemGroup>
155
+  <ItemGroup>
156
+    <Resource Include="Images\ToolBar\toolbar_bottom2.png" />
157
+    <Resource Include="Images\ToolBar\toolbar_bottom2_0.png" />
158
+    <Resource Include="Images\ToolBar\下课%402x.png" />
159
+    <Resource Include="Images\ToolBar\我的备课%402x.png" />
160
+    <Resource Include="Images\ToolBar\抢答%402x.png" />
161
+    <Resource Include="Images\ToolBar\本节考勤01%402x.png" />
162
+    <Resource Include="Images\ToolBar\讲评%402x.png" />
163
+    <Resource Include="Images\ToolBar\黑板01%402x.png" />
164
+  </ItemGroup>
165
+  <ItemGroup>
166
+    <Resource Include="Images\RollCall\attendance_0_0_0.png" />
167
+    <Resource Include="Images\RollCall\attendance_1.png" />
168
+    <Resource Include="Images\RollCall\attendance_2.png" />
169
+    <Resource Include="Images\RollCall\attendance_3.png" />
170
+    <Resource Include="Images\RollCall\attendance_33.png" />
171
+    <Resource Include="Images\RollCall\rollCall_0_1_1.png" />
172
+    <Resource Include="Images\RollCall\rollCall_1.png" />
173
+    <Resource Include="Images\RollCall\rollCall_10.png" />
174
+    <Resource Include="Images\RollCall\rollCall_11.png" />
175
+    <Resource Include="Images\RollCall\rollCall_12.png" />
176
+    <Resource Include="Images\RollCall\rollCall_13.png" />
177
+    <Resource Include="Images\RollCall\rollCall_2.png" />
178
+    <Resource Include="Images\RollCall\rollCall_4.png" />
179
+    <Resource Include="Images\RollCall\rollCall_5.png" />
180
+    <Resource Include="Images\RollCall\rollCall_6.png" />
181
+    <Resource Include="Images\RollCall\rollCall_7.png" />
182
+  </ItemGroup>
183
+  <ItemGroup>
184
+    <Resource Include="Images\ToolBar\img_shared_1.gif" />
185
+  </ItemGroup>
138 186
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
139 187
 </Project>

+ 4
- 0
XHZB.Desktop/packages.config View File

@@ -0,0 +1,4 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<packages>
3
+  <package id="WpfAnimatedGif" version="2.0.0" targetFramework="net452" />
4
+</packages>

+ 22
- 0
XHZB.Model/NotifyModel.cs View File

@@ -0,0 +1,22 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Linq;
4
+using System.Text;
5
+using System.ComponentModel;
6
+
7
+namespace XHZB.Model
8
+{
9
+    public class NotifyModel : INotifyPropertyChanged
10
+    {
11
+        public event PropertyChangedEventHandler PropertyChanged;
12
+
13
+        public void OnPropertyChanged(string propertyName)
14
+        {
15
+            PropertyChangedEventHandler handler = PropertyChanged;
16
+            if (handler != null)
17
+            {
18
+                handler(this, new PropertyChangedEventArgs(propertyName));
19
+            }
20
+        }
21
+    }
22
+}

+ 12
- 17
XHZB.Model/XHZB.Model.csproj View File

@@ -1,10 +1,10 @@
1
-<?xml version="1.0" encoding="utf-8"?>
1
+<?xml version="1.0" encoding="utf-8"?>
2 2
 <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3 3
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4 4
   <PropertyGroup>
5 5
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6 6
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7
-    <ProjectGuid>fc00ab0b-da8c-46be-aad5-8d8a7fb8c767</ProjectGuid>
7
+    <ProjectGuid>{FC00AB0B-DA8C-46BE-AAD5-8D8A7FB8C767}</ProjectGuid>
8 8
     <OutputType>Library</OutputType>
9 9
     <AppDesignerFolder>Properties</AppDesignerFolder>
10 10
     <RootNamespace>XHZB.Model</RootNamespace>
@@ -31,24 +31,19 @@
31 31
     <WarningLevel>4</WarningLevel>
32 32
   </PropertyGroup>
33 33
   <ItemGroup>
34
-    <Reference Include="System"/>
35
-    
36
-    <Reference Include="System.Core"/>
37
-    <Reference Include="System.Xml.Linq"/>
38
-    <Reference Include="System.Data.DataSetExtensions"/>
39
-    
40
-    
41
-    <Reference Include="Microsoft.CSharp"/>
42
-    
43
-    <Reference Include="System.Data"/>
44
-    
45
-    <Reference Include="System.Net.Http"/>
46
-    
47
-    <Reference Include="System.Xml"/>
34
+    <Reference Include="System" />
35
+    <Reference Include="System.Core" />
36
+    <Reference Include="System.Xml.Linq" />
37
+    <Reference Include="System.Data.DataSetExtensions" />
38
+    <Reference Include="Microsoft.CSharp" />
39
+    <Reference Include="System.Data" />
40
+    <Reference Include="System.Net.Http" />
41
+    <Reference Include="System.Xml" />
48 42
   </ItemGroup>
49 43
   <ItemGroup>
50 44
     <Compile Include="Class1.cs" />
45
+    <Compile Include="NotifyModel.cs" />
51 46
     <Compile Include="Properties\AssemblyInfo.cs" />
52 47
   </ItemGroup>
53 48
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
54
- </Project>
49
+</Project>

Loading…
Cancel
Save