From ebde0bd42b2966bb571a1db07e361af772b12268 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Sat, 8 Feb 2020 11:08:44 +0800 Subject: [PATCH] add Frame style --- .../HandyControlDemo_Core30.csproj | 3 + .../HandyControlDemo_Net_40.csproj | 3 + .../HandyControlDemo_Net_GE45.csproj | 3 + .../Data/DemoInfo.json | 1 + .../HandyControlDemo_Shared.projitems | 7 ++ .../Properties/Langs/Lang.Designer.cs | 9 +++ .../Properties/Langs/Lang.en.resx | 3 + .../Properties/Langs/Lang.fa.resx | 3 + .../Properties/Langs/Lang.fr.resx | 3 + .../Properties/Langs/Lang.ko-KR.resx | 3 + .../Properties/Langs/Lang.resx | 3 + .../Img/LeftMainContent/frame_16xLG.png | Bin 0 -> 163 bytes .../UserControl/Styles/FrameDemoCtl.xaml | 9 +++ .../UserControl/Styles/FrameDemoCtl.xaml.cs | 57 +++++++++++++++ .../HandyControl_Shared.projitems | 8 +++ .../Themes/Styles/Base/FrameBaseStyle.xaml | 67 ++++++++++++++++++ .../Themes/Styles/Frame.xaml | 9 +++ .../Themes/Styles/Style.xaml | 1 + 18 files changed, 192 insertions(+) create mode 100644 src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/frame_16xLG.png create mode 100644 src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml create mode 100644 src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml.cs create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/Base/FrameBaseStyle.xaml create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/Frame.xaml diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj index dc1bfbd0..7705c249 100644 --- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj +++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj @@ -463,6 +463,9 @@ Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png + + Resources\Img\LeftMainContent\frame_16xLG.png + diff --git a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj index b869564e..3da0dae4 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -534,6 +534,9 @@ Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png + + Resources\Img\LeftMainContent\frame_16xLG.png + 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 f61370b1..6b365cd1 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -597,6 +597,9 @@ Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png + + Resources\Img\LeftMainContent\frame_16xLG.png + diff --git a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json index 502dca8a..c849557e 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json +++ b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json @@ -30,6 +30,7 @@ [ "ToolBar", "ToolBarDemoCtl", "ToolBar_16x", "" ], [ "Border", "BorderDemoCtl", "BorderElement_16x", "" ], [ "Label", "LabelDemoCtl", "Label_16x", "" ], + [ "Frame", "FrameDemoCtl", "frame_16xLG", "1" ], [ "Window", "NativeWindowDemoCtl", "WindowsForm_16x", "1" ] ] }, diff --git a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems index ff0bb8c3..ff7903f6 100644 --- a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems +++ b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems @@ -296,6 +296,9 @@ FlowDocumentDemoCtl.xaml + + FrameDemoCtl.xaml + GroupBoxDemoCtl.xaml @@ -819,6 +822,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs index 15583b8b..2354a8cc 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs @@ -663,6 +663,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 导航框架 的本地化字符串。 + /// + public static string Frame { + get { + return ResourceManager.GetString("Frame", resourceCulture); + } + } + /// /// 查找类似 Gif图片 的本地化字符串。 /// diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx index f4307dc9..bd530288 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx @@ -735,4 +735,7 @@ Open navigation window + + Frame + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx index ab65e3c9..1fbed098 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx @@ -735,4 +735,7 @@ Open navigation window + + Frame + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx index a1b8af8f..bdec38d6 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx @@ -735,4 +735,7 @@ Open navigation window + + Frame + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx index ae3c9a1b..42566978 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx @@ -735,4 +735,7 @@ Open navigation window + + Frame + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx index ad5c9e11..0474931a 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx @@ -735,4 +735,7 @@ 点击打开导航窗口 + + 导航框架 + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/frame_16xLG.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/frame_16xLG.png new file mode 100644 index 0000000000000000000000000000000000000000..52248f5b47f930f0116b1ecf26ca987b6436f094 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAP%zZf z#WAEJ?(Jklz6J*lmiK4u`rT@m-}+z{_0B{}nk!XXczHvXx{5>T_d@|^dyEqFl_qhm z&Jv%q=JYo$o3oEEwmUVQ_%o-X={#p0W6|&Z2TLzUz9`RQ;t=6p5c$dtXaR$#tDnm{ Hr-UW|ii0-l literal 0 HcmV?d00001 diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml new file mode 100644 index 00000000..0f32caf5 --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml.cs b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml.cs new file mode 100644 index 00000000..517cd71e --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FrameDemoCtl.xaml.cs @@ -0,0 +1,57 @@ +using System.Collections.Generic; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Controls.Primitives; +using HandyControl.Tools.Extension; + +namespace HandyControlDemo.UserControl +{ + public partial class FrameDemoCtl + { + + private readonly List _pageList; + + public FrameDemoCtl() + { + InitializeComponent(); + + AddHandler(ButtonBase.ClickEvent, new RoutedEventHandler(Button_Click)); + + _pageList = new List(); + for (var i = 0; i < 5; i++) + { + _pageList.Add(CreatePage(i)); + } + + FrameDemo.Navigate(_pageList[0]); + } + + private Page CreatePage(int index) + { + var indexStr = index.ToString(); + var button = new Button + { + HorizontalAlignment = HorizontalAlignment.Center, + VerticalAlignment = VerticalAlignment.Center, + Content = indexStr, + Width = 320, + Tag = indexStr + }; + + return new Page + { + Title = indexStr, + Content = button + }; + } + + private void Button_Click(object sender, RoutedEventArgs e) + { + if (e.OriginalSource is Button button && button.Tag is string tag) + { + var index = tag.Value() + 1; + FrameDemo.Navigate(index >= _pageList.Count ? _pageList[0] : _pageList[index]); + } + } + } +} diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems index f2484dc6..161616dc 100644 --- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems +++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems @@ -398,6 +398,14 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/FrameBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/FrameBaseStyle.xaml new file mode 100644 index 00000000..9305788b --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/FrameBaseStyle.xaml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + +