diff --git a/src/HandyControl_Net_GE45.sln.DotSettings b/src/HandyControl_Net_GE45.sln.DotSettings
new file mode 100644
index 00000000..df567fc2
--- /dev/null
+++ b/src/HandyControl_Net_GE45.sln.DotSettings
@@ -0,0 +1,2 @@
+
+ True
\ No newline at end of file
diff --git a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj
index 57e96763..72fccc30 100644
--- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj
+++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj
@@ -411,6 +411,21 @@
TextTemplatingFileGenerator
MessageToken.cs
+
+ Resources\Img\DevOps\DevOps-Boards.png
+
+
+ Resources\Img\DevOps\DevOps-Overview.png
+
+
+ Resources\Img\DevOps\DevOps-Pipelines.png
+
+
+ Resources\Img\DevOps\DevOps-Repos.png
+
+
+ Resources\Img\DevOps\DevOps-TestPlans.png
+
Resources\Img\LeftMainContent\MainMenuControl_16x.png
diff --git a/src/Shared/HandyControlDemo_Shared/App.xaml.cs b/src/Shared/HandyControlDemo_Shared/App.xaml.cs
index 493daf1e..b597e60c 100644
--- a/src/Shared/HandyControlDemo_Shared/App.xaml.cs
+++ b/src/Shared/HandyControlDemo_Shared/App.xaml.cs
@@ -20,7 +20,7 @@ namespace HandyControlDemo
base.OnStartup(e);
GlobalData.Init();
- Thread.CurrentThread.CurrentUICulture = new CultureInfo(GlobalData.Config.Lang);
+ ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
if (GlobalData.Config.Skin != SkinType.Default)
{
@@ -28,7 +28,7 @@ namespace HandyControlDemo
}
#if !Core
- BlurWindow.SystemVersionInfo = CommonHelper.GetSystemVersionInfo();
+ ConfigHelper.Instance.SetSystemVersionInfo(CommonHelper.GetSystemVersionInfo());
#endif
}
diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Boards.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Boards.png
new file mode 100644
index 00000000..5d14a4a8
Binary files /dev/null and b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Boards.png differ
diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Overview.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Overview.png
new file mode 100644
index 00000000..e9e3d7e4
Binary files /dev/null and b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Overview.png differ
diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Pipelines.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Pipelines.png
new file mode 100644
index 00000000..ad1da5b8
Binary files /dev/null and b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Pipelines.png differ
diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Repos.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Repos.png
new file mode 100644
index 00000000..379d17eb
Binary files /dev/null and b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-Repos.png differ
diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-TestPlans.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-TestPlans.png
new file mode 100644
index 00000000..686d0730
Binary files /dev/null and b/src/Shared/HandyControlDemo_Shared/Resources/Img/DevOps/DevOps-TestPlans.png differ
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml
index ea74ef00..0ffcf88e 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/SideMenuDemoCtl.xaml
@@ -1,11 +1,38 @@
+ xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl"
+ xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl"
+ Background="{DynamicResource RegionBrush}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CalendarDemoCtl.xaml.cs b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CalendarDemoCtl.xaml.cs
index 42e98aa2..e0c14d30 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CalendarDemoCtl.xaml.cs
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/CalendarDemoCtl.xaml.cs
@@ -1,5 +1,4 @@
-
-namespace HandyControlDemo.UserControl
+namespace HandyControlDemo.UserControl
{
public partial class CalendarDemoCtl
{
diff --git a/src/Shared/HandyControl_Shared/Controls/Base/HeaderedSimpleItemsControl.cs b/src/Shared/HandyControl_Shared/Controls/Base/HeaderedSimpleItemsControl.cs
new file mode 100644
index 00000000..cd5750bb
--- /dev/null
+++ b/src/Shared/HandyControl_Shared/Controls/Base/HeaderedSimpleItemsControl.cs
@@ -0,0 +1,16 @@
+using System.Windows;
+
+namespace HandyControl.Controls
+{
+ public class HeaderedSimpleItemsControl : SimpleItemsControl
+ {
+ public static readonly DependencyProperty HeaderProperty = DependencyProperty.Register(
+ "Header", typeof(object), typeof(HeaderedSimpleItemsControl), new PropertyMetadata(default(object)));
+
+ public object Header
+ {
+ get => GetValue(HeaderProperty);
+ set => SetValue(HeaderProperty, value);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs b/src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs
index 0f301ffb..b347b244 100644
--- a/src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs
+++ b/src/Shared/HandyControl_Shared/Controls/Base/SimpleItemsControl.cs
@@ -5,6 +5,7 @@ using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Markup;
+using HandyControl.Data;
namespace HandyControl.Controls
{
@@ -33,7 +34,14 @@ namespace HandyControl.Controls
public SimpleItemsControl()
{
var items = new ObservableCollection