diff --git a/README.md b/README.md
index f327efcd..6e820dfc 100644
--- a/README.md
+++ b/README.md
@@ -42,8 +42,8 @@
-
-
+
+
## Special thanks to
@@ -86,6 +86,10 @@ Step 4:enjoy coding
## Latest examples
+### Drawer
+
+
+
### Poptip

@@ -102,12 +106,12 @@ Step 4:enjoy coding

+## History publication
+
### FloatingBlock

-## History publication
-
### HoneycombPanel

diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj
index 69e312fb..e9ef66a4 100644
--- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj
+++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj
@@ -169,10 +169,10 @@
Resources\Img\Flag\en.png
-
+
Resources\Img\Flag\fa.png
-
+
Resources\Img\Flag\fr.png
@@ -453,10 +453,10 @@
Properties\Langs\Lang.en.resx
-
+
Properties\Langs\Lang.fa.resx
-
+
Properties\Langs\Lang.fr.resx
@@ -478,4 +478,4 @@
-
+
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json
index bd53b554..6c5f4f76 100644
--- a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json
+++ b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json
@@ -34,7 +34,7 @@
{
"title": "Controls",
"demoItemList": [
- [ "FloatingBlock", "FloatingBlockDemoCtl", "thumbs_up", "1" ],
+ [ "FloatingBlock", "FloatingBlockDemoCtl", "thumbs_up", "" ],
[ "ImageBlock", "ImageBlockDemoCtl", "ImageStack_16x", "" ],
[ "Magnifier", "MagnifierDemoCtl", "Search_16x", "" ],
[ "Gravatar", "GravatarDemoCtl", "User_16x", "" ],
@@ -69,8 +69,9 @@
[ "CirclePanel", "CirclePanelDemoCtl", "ColorWheel_16x", "" ],
[ "Grid", "GridDemoCtl", "GridPane_16x", "" ],
[ "WaterfallPanel", "WaterfallPanelDemoCtl", "Panel_16x", "" ],
- [ "HoneycombPanel", "HoneycombPanelDemoCtl", "PolygonHexagon_16x", "1" ],
+ [ "HoneycombPanel", "HoneycombPanelDemoCtl", "PolygonHexagon_16x", "" ],
[ "TransitioningContentControl", "TransitioningContentControlDemoCtl", "TransitioningContentControl_16x", "" ],
+ [ "Drawer", "DrawerDemoCtl", "View_Portrait_16x", "1" ],
[ "CoverView", "CoverViewDemoCtl", "DetailDataView_16x", "" ],
[ "CoverFlow", "CoverFlowDemoCtl", "LinearCarousel_16x", "" ],
[ "ProgressBar", "ProgressBarDemoCtl", "ProgressBar_16x", "" ],
@@ -99,7 +100,7 @@
"title": "Tools",
"demoItemList": [
[ "HatchBrushGenerator", "HatchBrushGeneratorDemoCtl", "DataGenerator_16x", "" ],
- [ "Morphing Animation", "GeometryAnimationDemoCtl", "Animation_16x", "" ]
+ [ "Morphing Animation", "GeometryAnimationDemoCtl", "Animation_16x", "1" ]
]
}
]
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs
index a06921d7..31a98a9a 100644
--- a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs
+++ b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs
@@ -2,7 +2,195 @@
{
public class MessageToken
{
- /*-------------------- Windows --------------------*/
+ /*-------------------- Controls --------------------*/
+
+ public static readonly string GrowlDemoCtl = nameof(GrowlDemoCtl);
+
+ public static readonly string LoadingDemoCtl = nameof(LoadingDemoCtl);
+
+ public static readonly string ImageBrowserDemoCtl = nameof(ImageBrowserDemoCtl);
+
+ public static readonly string ColorPickerDemoCtl = nameof(ColorPickerDemoCtl);
+
+ public static readonly string CarouselDemoCtl = nameof(CarouselDemoCtl);
+
+ public static readonly string CompareSliderDemoCtl = nameof(CompareSliderDemoCtl);
+
+ public static readonly string TimeBarDemoCtl = nameof(TimeBarDemoCtl);
+
+ public static readonly string PaginationDemoCtl = nameof(PaginationDemoCtl);
+
+ public static readonly string AnimationPathDemoCtl = nameof(AnimationPathDemoCtl);
+
+ public static readonly string StepBarDemoCtl = nameof(StepBarDemoCtl);
+
+ public static readonly string ClockDemoCtl = nameof(ClockDemoCtl);
+
+ public static readonly string TimePickerDemoCtl = nameof(TimePickerDemoCtl);
+
+ public static readonly string CirclePanelDemoCtl = nameof(CirclePanelDemoCtl);
+
+ public static readonly string NumericUpDownDemoCtl = nameof(NumericUpDownDemoCtl);
+
+ public static readonly string WindowDemoCtl = nameof(WindowDemoCtl);
+
+ public static readonly string ScrollViewerDemoCtl = nameof(ScrollViewerDemoCtl);
+
+ public static readonly string PreviewSliderDemoCtl = nameof(PreviewSliderDemoCtl);
+
+ public static readonly string ProgressBarDemoCtl = nameof(ProgressBarDemoCtl);
+
+ public static readonly string TextBoxDemoCtl = nameof(TextBoxDemoCtl);
+
+ public static readonly string ComboBoxDemoCtl = nameof(ComboBoxDemoCtl);
+
+ public static readonly string PasswordBoxDemoCtl = nameof(PasswordBoxDemoCtl);
+
+ public static readonly string DatePickerDemoCtl = nameof(DatePickerDemoCtl);
+
+ public static readonly string DateTimePickerDemoCtl = nameof(DateTimePickerDemoCtl);
+
+ public static readonly string CalendarWithClockDemoCtl = nameof(CalendarWithClockDemoCtl);
+
+ public static readonly string SearchBarDemoCtl = nameof(SearchBarDemoCtl);
+
+ public static readonly string TagDemoCtl = nameof(TagDemoCtl);
+
+ public static readonly string GifImageDemoCtl = nameof(GifImageDemoCtl);
+
+ public static readonly string OutlineTextDemoCtl = nameof(OutlineTextDemoCtl);
+
+ public static readonly string FlipClockDemoCtl = nameof(FlipClockDemoCtl);
+
+ public static readonly string QQGroupView = nameof(QQGroupView);
+
+ public static readonly string BlurWindow = nameof(BlurWindow);
+
+ public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
+
+ public static readonly string RateDemoCtl = nameof(RateDemoCtl);
+
+ public static readonly string ShieldDemoCtl = nameof(ShieldDemoCtl);
+
+ public static readonly string WaterfallPanelDemoCtl = nameof(WaterfallPanelDemoCtl);
+
+ public static readonly string CoverViewDemoCtl = nameof(CoverViewDemoCtl);
+
+ public static readonly string CoverFlowDemoCtl = nameof(CoverFlowDemoCtl);
+
+ public static readonly string ProgressButtonDemoCtl = nameof(ProgressButtonDemoCtl);
+
+ public static readonly string TransferDemoCtl = nameof(TransferDemoCtl);
+
+ public static readonly string ChatBubbleDemoCtl = nameof(ChatBubbleDemoCtl);
+
+ public static readonly string GotoTopDemoCtl = nameof(GotoTopDemoCtl);
+
+ public static readonly string NotifyIconDemoCtl = nameof(NotifyIconDemoCtl);
+
+ public static readonly string BadgeDemoCtl = nameof(BadgeDemoCtl);
+
+ public static readonly string GravatarDemoCtl = nameof(GravatarDemoCtl);
+
+ public static readonly string DialogDemoCtl = nameof(DialogDemoCtl);
+
+ public static readonly string SideMenuDemoCtl = nameof(SideMenuDemoCtl);
+
+ public static readonly string GridDemoCtl = nameof(GridDemoCtl);
+
+ public static readonly string PoptipDemoCtl = nameof(PoptipDemoCtl);
+
+ public static readonly string RangeSliderDemoCtl = nameof(RangeSliderDemoCtl);
+
+ public static readonly string ButtonGroupDemoCtl = nameof(ButtonGroupDemoCtl);
+
+ public static readonly string CardDemoCtl = nameof(CardDemoCtl);
+
+ public static readonly string MagnifierDemoCtl = nameof(MagnifierDemoCtl);
+
+ public static readonly string ImageBlockDemoCtl = nameof(ImageBlockDemoCtl);
+
+ public static readonly string RunningBlockDemoCtl = nameof(RunningBlockDemoCtl);
+
+ public static readonly string HoneycombPanelDemoCtl = nameof(HoneycombPanelDemoCtl);
+
+ public static readonly string SpriteDemoCtl = nameof(SpriteDemoCtl);
+
+ public static readonly string NotificationDemoCtl = nameof(NotificationDemoCtl);
+
+ public static readonly string FloatingBlockDemoCtl = nameof(FloatingBlockDemoCtl);
+
+ public static readonly string SplitButtonDemoCtl = nameof(SplitButtonDemoCtl);
+
+ public static readonly string DividerDemoCtl = nameof(DividerDemoCtl);
+
+ public static readonly string TransitioningContentControlDemoCtl = nameof(TransitioningContentControlDemoCtl);
+
+ /*-------------------- Tools --------------------*/
+
+ public static readonly string HatchBrushGeneratorDemoCtl = nameof(HatchBrushGeneratorDemoCtl);
+
+ public static readonly string GeometryAnimationDemoCtl = nameof(GeometryAnimationDemoCtl);
+
+ /*-------------------- Styles --------------------*/
+
+ public static readonly string ButtonDemoCtl = nameof(ButtonDemoCtl);
+
+ public static readonly string RepeatButtonDemoCtl = nameof(RepeatButtonDemoCtl);
+
+ public static readonly string ToggleButtonDemoCtl = nameof(ToggleButtonDemoCtl);
+
+ public static readonly string ExpanderDemoCtl = nameof(ExpanderDemoCtl);
+
+ public static readonly string NativeProgressBarDemoCtl = nameof(NativeProgressBarDemoCtl);
+
+ public static readonly string TabControlDemoCtl = nameof(TabControlDemoCtl);
+
+ public static readonly string CalendarDemoCtl = nameof(CalendarDemoCtl);
+
+ public static readonly string NativeDatePickerDemoCtl = nameof(NativeDatePickerDemoCtl);
+
+ public static readonly string NativeTextBoxDemoCtl = nameof(NativeTextBoxDemoCtl);
+
+ public static readonly string TextBlockDemoCtl = nameof(TextBlockDemoCtl);
+
+ public static readonly string NativeComboBoxDemoCtl = nameof(NativeComboBoxDemoCtl);
+
+ public static readonly string NativePasswordBoxDemoCtl = nameof(NativePasswordBoxDemoCtl);
+
+ public static readonly string NativeTabControlDemoCtl = nameof(NativeTabControlDemoCtl);
+
+ public static readonly string DataGridDemoCtl = nameof(DataGridDemoCtl);
+
+ public static readonly string CheckBoxDemoCtl = nameof(CheckBoxDemoCtl);
+
+ public static readonly string ListBoxDemoCtl = nameof(ListBoxDemoCtl);
+
+ public static readonly string MenuDemoCtl = nameof(MenuDemoCtl);
+
+ public static readonly string TreeViewDemoCtl = nameof(TreeViewDemoCtl);
+
+ public static readonly string BorderDemoCtl = nameof(BorderDemoCtl);
+
+ public static readonly string RadioButtonDemoCtl = nameof(RadioButtonDemoCtl);
+
+ public static readonly string NativeScrollViewerDemoCtl = nameof(NativeScrollViewerDemoCtl);
+
+ public static readonly string BrushDemoCtl = nameof(BrushDemoCtl);
+
+ public static readonly string SliderDemoCtl = nameof(SliderDemoCtl);
+
+ public static readonly string GroupBoxDemoCtl = nameof(GroupBoxDemoCtl);
+
+ public static readonly string ListViewDemoCtl = nameof(ListViewDemoCtl);
+
+ public static readonly string RichTextBoxDemoCtl = nameof(RichTextBoxDemoCtl);
+
+ public static readonly string ToolBarDemoCtl = nameof(ToolBarDemoCtl);
+
+ public static readonly string LabelDemoCtl = nameof(LabelDemoCtl);
+
+ /*-------------------- Windows --------------------*/
public static readonly string CommonWindow = nameof(CommonWindow);
@@ -36,11 +224,5 @@
public static readonly string NotifyIconContextDemo = nameof(NotifyIconContextDemo);
- public static readonly string QQGroupView = nameof(QQGroupView);
-
- public static readonly string BlurWindow = nameof(BlurWindow);
-
- public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
-
}
}
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt
index 66986682..10c881f8 100644
--- a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt
+++ b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt
@@ -2,6 +2,106 @@
<#@ import namespace="System.Collections.Generic"#>
<#@ output extension=".cs" #>
<#
+var controlList = new List
+{
+ "GrowlDemoCtl",
+ "LoadingDemoCtl",
+ "ImageBrowserDemoCtl",
+ "ColorPickerDemoCtl",
+ "CarouselDemoCtl",
+ "CompareSliderDemoCtl",
+ "TimeBarDemoCtl",
+ "PaginationDemoCtl",
+ "AnimationPathDemoCtl",
+ "StepBarDemoCtl",
+ "ClockDemoCtl",
+ "TimePickerDemoCtl",
+ "CirclePanelDemoCtl",
+ "NumericUpDownDemoCtl",
+ "WindowDemoCtl",
+ "ScrollViewerDemoCtl",
+ "PreviewSliderDemoCtl",
+ "ProgressBarDemoCtl",
+ "TextBoxDemoCtl",
+ "ComboBoxDemoCtl",
+ "PasswordBoxDemoCtl",
+ "DatePickerDemoCtl",
+ "DateTimePickerDemoCtl",
+ "CalendarWithClockDemoCtl",
+ "SearchBarDemoCtl",
+ "TagDemoCtl",
+ "GifImageDemoCtl",
+ "OutlineTextDemoCtl",
+ "FlipClockDemoCtl",
+ "QQGroupView",
+ "BlurWindow",
+ "NoNonClientAreaDragableWindow",
+ "RateDemoCtl",
+ "ShieldDemoCtl",
+ "WaterfallPanelDemoCtl",
+ "CoverViewDemoCtl",
+ "CoverFlowDemoCtl",
+ "ProgressButtonDemoCtl",
+ "TransferDemoCtl",
+ "ChatBubbleDemoCtl",
+ "GotoTopDemoCtl",
+ "NotifyIconDemoCtl",
+ "BadgeDemoCtl",
+ "GravatarDemoCtl",
+ "DialogDemoCtl",
+ "SideMenuDemoCtl",
+ "GridDemoCtl",
+ "PoptipDemoCtl",
+ "RangeSliderDemoCtl",
+ "ButtonGroupDemoCtl",
+ "CardDemoCtl",
+ "MagnifierDemoCtl",
+ "ImageBlockDemoCtl",
+ "RunningBlockDemoCtl",
+ "HoneycombPanelDemoCtl",
+ "SpriteDemoCtl",
+ "NotificationDemoCtl",
+ "FloatingBlockDemoCtl",
+ "SplitButtonDemoCtl",
+ "DividerDemoCtl",
+ "TransitioningContentControlDemoCtl"
+};
+var styleList = new List
+{
+ "ButtonDemoCtl",
+ "RepeatButtonDemoCtl",
+ "ToggleButtonDemoCtl",
+ "ExpanderDemoCtl",
+ "NativeProgressBarDemoCtl",
+ "TabControlDemoCtl",
+ "CalendarDemoCtl",
+ "NativeDatePickerDemoCtl",
+ "NativeTextBoxDemoCtl",
+ "TextBlockDemoCtl",
+ "NativeComboBoxDemoCtl",
+ "NativePasswordBoxDemoCtl",
+ "NativeTabControlDemoCtl",
+ "DataGridDemoCtl",
+ "CheckBoxDemoCtl",
+ "ListBoxDemoCtl",
+ "MenuDemoCtl",
+ "TreeViewDemoCtl",
+ "BorderDemoCtl",
+ "RadioButtonDemoCtl",
+ "NativeScrollViewerDemoCtl",
+ "BrushDemoCtl",
+ "SliderDemoCtl",
+ "GroupBoxDemoCtl",
+ "ListViewDemoCtl",
+ "RichTextBoxDemoCtl",
+ "ToolBarDemoCtl",
+ "LabelDemoCtl"
+};
+var toolList = new List
+{
+ "HatchBrushGeneratorDemoCtl",
+ "GeometryAnimationDemoCtl"
+};
var windowList = new List
{
"CommonWindow",
@@ -21,17 +121,32 @@ var messageList = new List
"ProjectsView",
"BlogsView",
"NotifyIconDemo",
- "NotifyIconContextDemo",
- "QQGroupView",
- "BlurWindow",
- "NoNonClientAreaDragableWindow"
+ "NotifyIconContextDemo"
};
#>
namespace HandyControlDemo.Data
{
public class MessageToken
{
- /*-------------------- Windows --------------------*/
+ /*-------------------- Controls --------------------*/
+
+ <#foreach(var item in controlList){#>
+ public static readonly string <#=item#> = nameof(<#=item#>);
+
+ <#}#>
+ /*-------------------- Tools --------------------*/
+
+ <#foreach(var item in toolList){#>
+ public static readonly string <#=item#> = nameof(<#=item#>);
+
+ <#}#>
+ /*-------------------- Styles --------------------*/
+
+ <#foreach(var item in styleList){#>
+ public static readonly string <#=item#> = nameof(<#=item#>);
+
+ <#}#>
+ /*-------------------- Windows --------------------*/
<#foreach(var item in windowList){#>
public static readonly string <#=item#> = nameof(<#=item#>);
diff --git a/src/Shared/HandyControlDemo_Shared/Data/Model/DemoInfoModel.cs b/src/Shared/HandyControlDemo_Shared/Data/Model/DemoInfoModel.cs
index 9692dcab..30149de4 100644
--- a/src/Shared/HandyControlDemo_Shared/Data/Model/DemoInfoModel.cs
+++ b/src/Shared/HandyControlDemo_Shared/Data/Model/DemoInfoModel.cs
@@ -1,13 +1,34 @@
using System.Collections.Generic;
+using GalaSoft.MvvmLight;
namespace HandyControlDemo.Data
{
- public class DemoInfoModel
+ public class DemoInfoModel : ViewModelBase
{
- public string Title { get; set; }
+ private string _title;
- public int SelectedIndex { get; set; }
+ public string Title
+ {
+ get => _title;
+#if netle40
+ set => Set(nameof(Title), ref _title, value);
+#else
+ set => Set(ref _title, value);
+#endif
+ }
+
+ private int _selectedIndex = -1;
+
+ public int SelectedIndex
+ {
+ get => _selectedIndex;
+#if netle40
+ set => Set(nameof(SelectedIndex), ref _selectedIndex, value);
+#else
+ set => Set(ref _selectedIndex, value);
+#endif
+ }
public IList DemoItemList { get; set; }
}
-}
+}
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Data/Model/DemoItemModel.cs b/src/Shared/HandyControlDemo_Shared/Data/Model/DemoItemModel.cs
index 31344903..e4c6501c 100644
--- a/src/Shared/HandyControlDemo_Shared/Data/Model/DemoItemModel.cs
+++ b/src/Shared/HandyControlDemo_Shared/Data/Model/DemoItemModel.cs
@@ -9,7 +9,5 @@
public string ImageName { get; set; }
public bool IsNew { get; set; }
-
- public bool IsSelected { get; set; }
}
}
diff --git a/src/Shared/HandyControlDemo_Shared/Data/SideMenuConfig.json b/src/Shared/HandyControlDemo_Shared/Data/SideMenuConfig.json
new file mode 100644
index 00000000..8e58a2ac
--- /dev/null
+++ b/src/Shared/HandyControlDemo_Shared/Data/SideMenuConfig.json
@@ -0,0 +1,120 @@
+[
+ {
+ "Header": "Overview",
+ "IconKey": "/HandyControlDemo;component/Resources/Img/DevOps/DevOps-Overview.png",
+ "Items": [
+ {
+ "Header": "Summary",
+ "IconKey": ""
+ },
+ {
+ "Header": "Dashboards",
+ "IconKey": ""
+ },
+ {
+ "Header": "Wiki",
+ "IconKey": ""
+ }
+ ]
+ },
+ {
+ "Header": "Boards",
+ "IconKey": "/HandyControlDemo;component/Resources/Img/DevOps/DevOps-Boards.png",
+ "Items": [
+ {
+ "Header": "Work Items",
+ "IconKey": ""
+ },
+ {
+ "Header": "Boards",
+ "IconKey": ""
+ },
+ {
+ "Header": "Backlogs",
+ "IconKey": ""
+ },
+ {
+ "Header": "Sprints",
+ "IconKey": ""
+ },
+ {
+ "Header": "Queries",
+ "IconKey": ""
+ }
+ ]
+ },
+ {
+ "Header": "Repos",
+ "IconKey": "/HandyControlDemo;component/Resources/Img/DevOps/DevOps-Repos.png",
+ "Items": [
+ {
+ "Header": "Files",
+ "IconKey": ""
+ },
+ {
+ "Header": "Commits",
+ "IconKey": ""
+ },
+ {
+ "Header": "Pushes",
+ "IconKey": ""
+ },
+ {
+ "Header": "Branches",
+ "IconKey": ""
+ },
+ {
+ "Header": "Tags",
+ "IconKey": ""
+ },
+ {
+ "Header": "Pull requests",
+ "IconKey": ""
+ }
+ ]
+ },
+ {
+ "Header": "Pipelines",
+ "IconKey": "/HandyControlDemo;component/Resources/Img/DevOps/DevOps-Pipelines.png",
+ "Items": [
+ {
+ "Header": "Builds",
+ "IconKey": ""
+ },
+ {
+ "Header": "Releases",
+ "IconKey": ""
+ },
+ {
+ "Header": "Library",
+ "IconKey": ""
+ },
+ {
+ "Header": "Task groups",
+ "IconKey": ""
+ },
+ {
+ "Header": "Deployment groups",
+ "IconKey": ""
+ }
+ ]
+ },
+ {
+ "Header": "Test Plans",
+ "IconKey": "/HandyControlDemo;component/Resources/Img/DevOps/DevOps-TestPlans.png",
+ "Items": [
+ {
+ "Header": "Test Plans",
+ "IconKey": ""
+ },
+ {
+ "Header": "Runs",
+ "IconKey": ""
+ },
+ {
+ "Header": "Load test",
+ "IconKey": ""
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/MainWindow.xaml.cs b/src/Shared/HandyControlDemo_Shared/MainWindow.xaml.cs
index ec24646f..b317b980 100644
--- a/src/Shared/HandyControlDemo_Shared/MainWindow.xaml.cs
+++ b/src/Shared/HandyControlDemo_Shared/MainWindow.xaml.cs
@@ -18,7 +18,6 @@ namespace HandyControlDemo
{
base.OnInitialized(e);
- Messenger.Default.Send