From dc897f3a72c3155598090b0249417301b95eabc5 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Tue, 7 Jan 2020 22:50:41 +0800 Subject: [PATCH 01/26] Update Growl.cs --- src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs index 6267a340..678dc5be 100644 --- a/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs +++ b/src/Shared/HandyControl_Shared/Controls/Growl/Growl.cs @@ -321,10 +321,8 @@ namespace HandyControl.Controls private void Update() { - if (ActionBeforeClose != null) + if (Type == InfoType.Ask) { - _staysOpen = true; - _showCloseButton = false; _panelMore.IsEnabled = true; _panelMore.Show(); } @@ -534,12 +532,12 @@ namespace HandyControl.Controls } break; case InfoType.Ask: + growlInfo.StaysOpen = true; + growlInfo.ShowCloseButton = false; if (!growlInfo.IsCustom) { growlInfo.IconKey = ResourceToken.AskGeometry; growlInfo.IconBrushKey = ResourceToken.AccentBrush; - growlInfo.StaysOpen = true; - growlInfo.ShowCloseButton = false; } else { @@ -805,7 +803,7 @@ namespace HandyControl.Controls { if (invokeActionBeforeClose) { - ActionBeforeClose?.Invoke(invokeParam); + if (ActionBeforeClose?.Invoke(invokeParam) == false) return; } _timerClose?.Stop(); From 9aefdce97daabab2a05cb433d8a99cbf2dca5187 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 8 Jan 2020 00:05:24 +0800 Subject: [PATCH 02/26] fixed #272 --- .../Controls/TabControl/TabControl.cs | 36 ++++++++++--------- .../Controls/TabControl/TabItem.cs | 4 +-- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs b/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs index bcef77e1..d656468f 100644 --- a/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs +++ b/src/Shared/HandyControl_Shared/Controls/TabControl/TabControl.cs @@ -224,11 +224,7 @@ namespace HandyControl.Controls return; } - if (!IsTabFillEnabled) - { - _itemShowCount = (int)(ActualWidth / TabItemWidth); - _buttonOverflow?.Show(ShowOverflowButton && Items.Count > 0 && Items.Count >= _itemShowCount); - } + UpdateOverflowButton(); if (IsInternalAction) { @@ -292,15 +288,6 @@ namespace HandyControl.Controls if (_buttonOverflow != null) { - if (ItemsSource != null) - { - Measure(new Size(double.PositiveInfinity, double.PositiveInfinity)); - } - - var size = DesiredSize; - _itemShowCount = (int)(size.Width / TabItemWidth); - _buttonOverflow.Show(ShowOverflowButton && Items.Count > 0 && Items.Count >= _itemShowCount); - var menu = new ContextMenu { Placement = PlacementMode.Bottom, @@ -312,6 +299,21 @@ namespace HandyControl.Controls } } + protected override void OnRenderSizeChanged(SizeChangedInfo sizeInfo) + { + base.OnRenderSizeChanged(sizeInfo); + UpdateOverflowButton(); + } + + private void UpdateOverflowButton() + { + if (!IsTabFillEnabled) + { + _itemShowCount = (int)(ActualWidth / TabItemWidth); + _buttonOverflow?.Show(ShowOverflowButton && Items.Count > 0 && Items.Count >= _itemShowCount); + } + } + private void Menu_Closed(object sender, RoutedEventArgs e) => _buttonOverflow.IsChecked = false; private void ButtonScrollRight_Click(object sender, RoutedEventArgs e) => @@ -346,7 +348,7 @@ namespace HandyControl.Controls { _buttonOverflow.IsChecked = false; - var list = GetActuaList(); + var list = GetActualList(); if (list == null) return; var actualItem = ItemContainerGenerator.ItemFromContainer(item); @@ -391,7 +393,7 @@ namespace HandyControl.Controls { var actualItem = currentItem != null ? ItemContainerGenerator.ItemFromContainer(currentItem) : null; - var list = GetActuaList(); + var list = GetActualList(); if (list == null) return; IsInternalAction = true; @@ -418,7 +420,7 @@ namespace HandyControl.Controls SetCurrentValue(SelectedIndexProperty, Items.Count == 0 ? -1 : 0); } - internal IList GetActuaList() + internal IList GetActualList() { IList list; if (ItemsSource != null) diff --git a/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs b/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs index ceddf142..c001fb30 100644 --- a/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs +++ b/src/Shared/HandyControl_Shared/Controls/TabControl/TabItem.cs @@ -285,7 +285,7 @@ namespace HandyControl.Controls parent.IsInternalAction = true; RaiseEvent(new RoutedEventArgs(ClosedEvent, item)); - var list = parent.GetActuaList(); + var list = parent.GetActualList(); list?.Remove(item); } @@ -392,7 +392,7 @@ namespace HandyControl.Controls RenderTransform = new TranslateTransform(resultX, 0); if (index == -1) return; - var list = parent.GetActuaList(); + var list = parent.GetActualList(); if (list == null) return; var item = parent.ItemContainerGenerator.ItemFromContainer(this); From 1734164f07e38def60ff347c3ef124d8324a5532 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 8 Jan 2020 00:24:31 +0800 Subject: [PATCH 03/26] update backers --- README.md | 1 + doc/source/handycontrol/tnx/index.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c7f5735d..5d441e75 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ + ## Special thanks to diff --git a/doc/source/handycontrol/tnx/index.md b/doc/source/handycontrol/tnx/index.md index 8f738933..8356fcbf 100644 --- a/doc/source/handycontrol/tnx/index.md +++ b/doc/source/handycontrol/tnx/index.md @@ -12,4 +12,4 @@ title: 鸣谢 # 感谢以下捐赠者 -

bigorange190014632791IUpdatablemapleweisunshang-hlyangkang326zmrbakAFei19911012

\ No newline at end of file +

bigorange190014632791IUpdatablemapleweisunshang-hlyangkang326zmrbakAFei19911012wayne2006towerDLHBluceBosen

\ No newline at end of file From 28e5f7be723eed2dfed74c76404a172c111a3b6c Mon Sep 17 00:00:00 2001 From: Mahdi Date: Thu, 9 Jan 2020 09:50:34 +0330 Subject: [PATCH 04/26] add korean language #296 --- .../HandyControl_Net_GE45.csproj | 3 + .../Properties/Langs/Lang.ko-KR.resx | 207 ++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx diff --git a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj index 8ad765a1..db1055ee 100644 --- a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj +++ b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj @@ -168,6 +168,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ko-KR.resx + Properties\Langs\Lang.resx PublicResXFileCodeGenerator diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx new file mode 100644 index 00000000..295d0acb --- /dev/null +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 오전 + + + 취소 + + + 여러 명령어 자체를 등록할 수 없습니다 + + + 같은 명령어를 2번 등록할 수 없습니다 + + + 삭제 + + + 닫기 + + + 모두 닫기 + + + 다른 창 모두 닫기 + + + 확인 + + + 잘못된 사진 경로 + + + 잘못된 사진 크기 + + + 형식 오류 + + + 10분 간격 + + + 1시간 간격 + + + 1분 간격 + + + 2시간 간격 + + + 30분 간격 + + + 30초 간격 + + + 5분 간격 + + + 이 칸은 비워둘 수 없습니다 + + + 아니요 + + + 범위를 벗어났습니다 + + + 오후 + + + PNG 사진 + + + 출력 + + + 너무 큽니다 + + + 알 수 없음 + + + 알 수 없는 크기 + + + 네 + + \ No newline at end of file From e10bacc255b9bac28f58813b91bfdcf9da78d0d0 Mon Sep 17 00:00:00 2001 From: DinoChan Date: Thu, 9 Jan 2020 15:18:47 +0800 Subject: [PATCH 05/26] update DataPicker doc --- .../extend_controls/datePicker/index.md | 73 ++++++++++++++++++- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/doc/source/handycontrol/extend_controls/datePicker/index.md b/doc/source/handycontrol/extend_controls/datePicker/index.md index ca12ad62..91806da6 100644 --- a/doc/source/handycontrol/extend_controls/datePicker/index.md +++ b/doc/source/handycontrol/extend_controls/datePicker/index.md @@ -1,5 +1,74 @@ --- -title: 建设中 +title: DatePicker --- -建设中 \ No newline at end of file +DatePicker 控件允许用户通过在文本框中键入日期或使用下拉的日历控件来选择日期。 + +``` CS +[TemplatePart(Name = ElementTextBox, Type = typeof(DatePickerTextBox))] +public class DatePicker : System.Windows.Controls.DatePicker, IDataInput +``` + +# 创建日期选取器 + +``` XML + +``` + +``` CS +var datePicker = new DatePicker(); +``` + +生成的DatePicker如下图所示: + +![DatePicker](https://raw.githubusercontent.com/DinoChan/HandyOrgResource/master/HandyControl/Doc/extend_controls/DatePicker_1.png) + + + +# 选择日期 + +可以通过文本框输入日期,或者点击文本框右边的按钮打开下来的日历控件选择日期。 + +![DatePicker](https://raw.githubusercontent.com/DinoChan/HandyOrgResource/master/HandyControl/Doc/extend_controls/DatePicker_2.png) + +也可以在XAML钟或代码中这样设置日期。 + +``` XML + +``` + +``` CS +datePicker.SelectedDate = DateTime.Now; +``` + +# 设置标题和占位符文本 + +你可以将 Header(标题)和 Placeholder(占位符)添加到DatePicker,以向用户指示其用途。 + +``` XML + +``` + + + + +# 属性 + +| 属性 | | +| ---------------- | ------------------ | +| SelectedDate | 获取或设置当前选中的日期 | +| VerifyFunc | 获取或设置数据验证委托 | +| IsError | 获取或设置数据是否错误 | +| ErrorStr | 获取或设置错误提示 | +| TextType | 获取或设置文本类型 | +| ShowClearButton | 获取或设置是否显示清除按钮 | + +# 方法 + +| 方法 | | +| ---------------- | ------------------ | +| VerifyData() | 验证数据 | + From 1fbcccf2231ab7eabb241d05ea94662e45707623 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Thu, 9 Jan 2020 22:32:47 +0800 Subject: [PATCH 06/26] add demo lang --- .../HandyControlDemo_Core30.csproj | 3 + .../HandyControl_Core_30.csproj | 3 + .../HandyControlDemo_Net_40.csproj | 3 + .../HandyControl_Net_40.csproj | 3 + .../HandyControlDemo_Net_GE45.csproj | 3 + .../Properties/Langs/Lang.en.resx | 6 +- .../Properties/Langs/Lang.ko-KR.resx | 714 ++++++++++++++++++ .../Properties/Langs/Lang.Designer.cs | 4 +- .../Properties/Langs/Lang.resx | 4 +- 9 files changed, 736 insertions(+), 7 deletions(-) create mode 100644 src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj index b343a399..adc0c830 100644 --- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj +++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj @@ -465,6 +465,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ko-KR.resx + Properties\Langs\Lang.resx PublicResXFileCodeGenerator diff --git a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj index 97e75628..ed8fecd0 100644 --- a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj +++ b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj @@ -39,6 +39,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ko-KR.resx + Properties\Langs\Lang.resx PublicResXFileCodeGenerator 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 dad16ae2..79850bd2 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -410,6 +410,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ko-KR.resx + Properties\Langs\Lang.resx PublicResXFileCodeGenerator diff --git a/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj b/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj index f6d5903f..08bd19be 100644 --- a/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj +++ b/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj @@ -98,6 +98,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ko-KR.resx + Properties\Langs\Lang.resx PublicResXFileCodeGenerator 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 3577548d..14b45a8c 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -478,6 +478,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ko-KR.resx + Properties\Langs\Lang.resx PublicResXFileCodeGenerator diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx index c0ee1efa..682dbe38 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx @@ -169,7 +169,7 @@ Pagination - Click to open image browser + Click to open image browser ProgressBar @@ -232,7 +232,7 @@ Fill in the basic information - Upload file + Upload file Complete @@ -319,7 +319,7 @@ Menu - Right click here + Right click here RadioButton diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx new file mode 100644 index 00000000..697c1a98 --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx @@ -0,0 +1,714 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + About + + + Add an item + + + AnimationPath + + + The tray icon is open and will hide the window instead of closing the program + + + Ask + + + Badge + + + Fill in the basic information + + + Basic layout + + + Blink + + + Blog + + + Border + + + Brush + + + Button + + + Custom button + + + ButtonGroup + + + Calendar + + + CalendarWithClock + + + Card + + + Carousel + + + Whether to restart to change the language? + + + ChatBubble + + + Chatroom + + + CheckBox + + + CirclePanel + + + Clear + + + Click to count + + + Clock + + + ColorPicker + + + Column offset + + + Column spacing + + + ComboBox + + + Coming Soon + + + Comment + + + Common + + + CompareSlider + + + Complete + + + This is the content + + + Contributors + + + Controls + + + CoverFlow + + + CoverView + + + Danger + + + DataGrid + + + DatePicker + + + DateTimePicker + + + Default + + + Demo + + + Dialog + + + Dialog demo + + + Divider + + + Documentation + + + Chinese document + + + English document + + + Drag here + + + Drawer + + + Effects + + + Email + + + Error + + + Exit + + + Expander + + + Fatal + + + FlipClock + + + FloatingBlock + + + GifImage + + + GotoTop + + + Gravatar + + + Grid + + + GroupBox + + + Groups + + + Growl + + + A new version has been detected!Do you want to update? + + + Growl demo + + + Connection failed. please check your network! + + + The program has crashed~~~ + + + It's a nice day today~~~ + + + File saved successfully! + + + Disk space is running out! + + + HatchBrushGenerator + + + HoneycombPanel + + + Hybrid layout + + + Ignore + + + ImageBlock + + + ImageBrowser + + + Index + + + Info + + + Interactive Dialog + + + It's not a phone number + + + Label + + + ListBox + + + ListView + + + Loading + + + Magnifier + + + Menu + + + MessageBox + + + Morphing Animation + + + Name + + + New window + + + Next + + + Notification + + + NotifyIcon + + + NumericUpDown + + + Off + + + Ok + + + On + + + open blur window + + + open common window + + + open custom content window + + + open custom message window + + + open custom Non-client Area window + + + Click to open image browser + + + open message window + + + open mouse follow window + + + open no Non-client Area dragable window + + + Open Panel + + + Open sprite + + + OutlineText + + + Overview + + + Pagination + + + PasswordBox + + + Please input... + + + Please wait... + + + Please enter content + + + please enter email + + + Please input a keyword + + + Poptip + + + top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start + + + Prev + + + PreviewSlider + + + Primary + + + ProgressBar + + + ProgressButton + + + Project + + + Push to talk + + + QQ Group + + + RadioButton + + + RangeSlider + + + Rate + + + Recommendation + + + Register + + + RelativePanel + + + Remark + + + Remove an item + + + RepeatButton + + + Reply + + + Repository + + + Responsive layout + + + RichTextBox + + + Right click here + + + RunningBlock + + + ScrollViewer + + + SearchBar + + + Sec + + + Selected + + + Send notification + + + Shield + + + Show in the current window + + + Show in the main window + + + ShowRowNumber + + + SideMenu + + + Slider + + + SplitButton + + + Sprite + + + Stays open + + + Step + + + StepBar + + + Styles + + + Subtitle + + + Success + + + TabControl + + + Tag + + + Text + + + TextBlock + + + TextBox + + + TextDialog + + + TextDialog with timer + + + TimeBar + + + TimePicker + + + Prompt + + + Title + + + This is the title + + + This item must be filled in + + + The title is on the left + + + ToggleButton + + + ToolBar + + + Tools + + + Transfer + + + TransitioningContentControl + + + TreeView + + + Try to close app? + + + Type + + + Upload file + + + Upload;Uploading + + + Visibility + + + Vsix + + + Warning + + + WaterfallPanel + + + Website + + + Window + + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs index ea595e1a..d9db4d8d 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs @@ -142,7 +142,7 @@ namespace HandyControl.Properties.Langs { } /// - /// 查找类似 错误的图片路径! 的本地化字符串。 + /// 查找类似 错误的图片路径 的本地化字符串。 /// public static string ErrorImgPath { get { @@ -151,7 +151,7 @@ namespace HandyControl.Properties.Langs { } /// - /// 查找类似 非法的图片尺寸! 的本地化字符串。 + /// 查找类似 非法的图片尺寸 的本地化字符串。 /// public static string ErrorImgSize { get { diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx index 75b1787a..76827085 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx @@ -107,10 +107,10 @@ PNG图片 - 错误的图片路径! + 错误的图片路径 - 非法的图片尺寸! + 非法的图片尺寸 未知大小 From d8eca3ad2cd429aba9aba6b18953f550d81695d3 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Fri, 10 Jan 2020 00:32:43 +0800 Subject: [PATCH 07/26] init branch --- .../HandyControlDemo_Core30.csproj | 5 +- .../HandyControl_Core_30.csproj | 2 +- .../HandyControlDemo_Net_40.csproj | 3 + .../HandyControlDemo_Net_GE45.csproj | 3 + .../Data/DemoInfo.json | 3 +- .../Data/MessageToken.cs | 206 +----------------- .../Data/MessageToken.tt | 138 +----------- .../HandyControlDemo_Shared.projitems | 7 + .../Properties/AssemblyInfo.cs | 2 +- .../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 | 5 +- .../Properties/Langs/Lang.resx | 3 + .../Img/LeftMainContent/Ellipsis_16x.png | Bin 0 -> 196 bytes .../Controls/PasswordBoxDemoCtl.xaml | 2 +- .../UserControl/Controls/PinBoxDemoCtl.xaml | 7 + .../Controls/PinBoxDemoCtl.xaml.cs | 10 + .../Controls/Input/PinBox.cs | 9 + .../HandyControl_Shared.projitems | 9 + .../Properties/AssemblyInfo.cs | 2 +- .../Themes/Styles/Base/PinBoxBaseStyle.xaml | 9 + .../Themes/Styles/PinBox.xaml | 10 + .../Themes/Styles/Style.xaml | 1 + 25 files changed, 119 insertions(+), 335 deletions(-) create mode 100644 src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/Ellipsis_16x.png create mode 100644 src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml create mode 100644 src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs create mode 100644 src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/Base/PinBoxBaseStyle.xaml create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/PinBox.xaml diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj index adc0c830..b3c41945 100644 --- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj +++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj @@ -8,7 +8,7 @@ 2.4.0 ..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico Debug;Release - Copyright © HandyOrg 2018-2019 + Copyright © HandyOrg 2018-2020 2.4.0.0 2.4.0.0 8.0 @@ -454,6 +454,9 @@ Resources\Img\LeftMainContent\Effects_16x.png + + Resources\Img\LeftMainContent\Ellipsis_16x.png + diff --git a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj index ed8fecd0..600b0889 100644 --- a/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj +++ b/src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj @@ -8,7 +8,7 @@ 2.4.0.0 false false - Copyright © HandyOrg 2018-2019 + Copyright © HandyOrg 2018-2020 Contains some commonly used simple WPF controls Debug;Release 8.0 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 79850bd2..d2ee3658 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -520,6 +520,9 @@ Resources\Img\LeftMainContent\RepeatButton_16x.png + + Resources\Img\LeftMainContent\Ellipsis_16x.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 14b45a8c..9b86a79e 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -583,6 +583,9 @@ Resources\Img\LeftMainContent\MainMenuControl_16x.png + + Resources\Img\LeftMainContent\Ellipsis_16x.png + diff --git a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json index 18f69028..e10713f7 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json +++ b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json @@ -50,6 +50,7 @@ [ "TextBox", "TextBoxDemoCtl", "TextBox_16x", "" ], [ "ComboBox", "ComboBoxDemoCtl", "ComboBox_16x", "" ], [ "PasswordBox", "PasswordBoxDemoCtl", "PasswordBox_16x", "" ], + [ "PinBox", "PinBoxDemoCtl", "Ellipsis_16x", "1" ], [ "DatePicker", "DatePickerDemoCtl", "DatePicker_16x", "" ], [ "Clock", "ClockDemoCtl", "Time_color_16x", "" ], [ "TimePicker", "TimePickerDemoCtl", "TimePicker_16x", "" ], @@ -65,7 +66,7 @@ [ "OutlineText", "OutlineTextDemoCtl", "TextBlock_16x", "" ], [ "RunningBlock", "RunningBlockDemoCtl", "Dynamic_16x", "" ], [ "Card", "CardDemoCtl", "VSO_Card_16x", "" ], - [ "Divider", "DividerDemoCtl", "DottedSplitter_16x", "1" ], + [ "Divider", "DividerDemoCtl", "DottedSplitter_16x", "" ], [ "CirclePanel", "CirclePanelDemoCtl", "ColorWheel_16x", "" ], [ "Grid", "GridDemoCtl", "GridPane_16x", "" ], [ "RelativePanel", "RelativePanelDemoCtl", "TransformRelative_16x", "1" ], diff --git a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs index 5c4cab57..5d039b04 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs +++ b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs @@ -2,202 +2,6 @@ { public class MessageToken { - /*-------------------- 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); - - public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow); - - /*-------------------- Messages --------------------*/ - public static readonly string LoadShowContent = nameof(LoadShowContent); public static readonly string FullSwitch = nameof(FullSwitch); @@ -226,5 +30,15 @@ public static readonly string NotifyIconContextDemo = nameof(NotifyIconContextDemo); + public static readonly string CommonWindow = nameof(CommonWindow); + + public static readonly string BlurWindow = nameof(BlurWindow); + + public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow); + + public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow); + + public static readonly string QQGroupView = nameof(QQGroupView); + } } \ 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 75d66f65..885626a9 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt +++ b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt @@ -2,111 +2,6 @@ <#@ 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", - "CustomNonClientAreaWindow" -}; var messageList = new List { "LoadShowContent", @@ -122,39 +17,18 @@ var messageList = new List "BlogsView", "WebsitesView", "NotifyIconDemo", - "NotifyIconContextDemo" + "NotifyIconContextDemo", + "CommonWindow", + "BlurWindow", + "CustomNonClientAreaWindow", + "NoNonClientAreaDragableWindow", + "QQGroupView" }; #> namespace HandyControlDemo.Data { public class MessageToken { - /*-------------------- 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#>); - - <#}#> - /*-------------------- Messages --------------------*/ - <#foreach(var item in messageList){#> public static readonly string <#=item#> = nameof(<#=item#>); diff --git a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems index 57b7c22a..e9b3c59e 100644 --- a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems +++ b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems @@ -80,6 +80,9 @@ NotificationDemoCtl.xaml + + PinBoxDemoCtl.xaml + RangeSliderDemoCtl.xaml @@ -513,6 +516,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs b/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs index fca449dd..7c03ec55 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs +++ b/src/Shared/HandyControlDemo_Shared/Properties/AssemblyInfo.cs @@ -8,7 +8,7 @@ using System.Windows; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HandyControlDemo")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")] +[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs index 14c08812..7c2eff9a 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs @@ -1131,6 +1131,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 PIN码框 的本地化字符串。 + /// + public static string PinBox { + get { + return ResourceManager.GetString("PinBox", resourceCulture); + } + } + /// /// 查找类似 请输入... 的本地化字符串。 /// diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx index 682dbe38..82034ede 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx @@ -711,4 +711,7 @@ Demo + + PinBox + \ 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 4ea3c493..d6102272 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx @@ -711,4 +711,7 @@ Demo + + PinBox + \ 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 dcc76a17..95a79a20 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx @@ -711,4 +711,7 @@ Demo + + PinBox + \ 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 697c1a98..6c0bf75a 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx @@ -1,4 +1,4 @@ - + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml new file mode 100644 index 00000000..77c4a6f4 --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml @@ -0,0 +1,7 @@ + + + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs new file mode 100644 index 00000000..dc8f65fd --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs @@ -0,0 +1,10 @@ +namespace HandyControlDemo.UserControl +{ + public partial class PinBoxDemoCtl + { + public PinBoxDemoCtl() + { + InitializeComponent(); + } + } +} diff --git a/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs b/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs new file mode 100644 index 00000000..86634976 --- /dev/null +++ b/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs @@ -0,0 +1,9 @@ +using System.Windows.Controls; + +namespace HandyControl.Controls +{ + public class PinBox : Control + { + + } +} diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems index 4af77f44..32cab771 100644 --- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems +++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems @@ -25,6 +25,7 @@ + @@ -393,6 +394,14 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs b/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs index 8b80dbb4..46ac97c7 100644 --- a/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs +++ b/src/Shared/HandyControl_Shared/Properties/AssemblyInfo.cs @@ -8,7 +8,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HandyControl")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")] +[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/PinBoxBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/PinBoxBaseStyle.xaml new file mode 100644 index 00000000..98d80b3f --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/PinBoxBaseStyle.xaml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/PinBox.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/PinBox.xaml new file mode 100644 index 00000000..1ad0f94d --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/PinBox.xaml @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file From e2f24256f6aeb875e14e79f4efe0156a5aa36310 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 15 Jan 2020 01:04:56 +0800 Subject: [PATCH 14/26] completed the branch --- README.md | 8 +- .../Controls/PasswordBoxDemoCtl.xaml | 3 +- .../UserControl/Controls/PinBoxDemoCtl.xaml | 5 +- .../Controls/PinBoxDemoCtl.xaml.cs | 13 +- .../Controls/Input/PasswordBox.cs | 8 -- .../Controls/Input/PinBox.cs | 125 +++++++++++++++++- .../Tools/Extension/EnumerableExtension.cs | 11 ++ 7 files changed, 153 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 5d441e75..28797228 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,10 @@ Step 4:enjoy coding ## Latest examples +### PinBox + +![PinBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/PinBox.png) + ### Effects ![Effects](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Effects.png) @@ -110,12 +114,12 @@ Step 4:enjoy coding ![Poptip](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Poptip.gif) +## History publication + ### Divider ![Divider](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Divider.png) -## History publication - ### GeometryAnimation ![GeometryAnimation](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/GeometryAnimation.gif) diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PasswordBoxDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PasswordBoxDemoCtl.xaml index 172bc51d..d6781b14 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PasswordBoxDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PasswordBoxDemoCtl.xaml @@ -13,8 +13,7 @@ - - + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml index d5175cbc..728c99a3 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml @@ -4,6 +4,9 @@ xmlns:hc="https://handyorg.github.io/handycontrol" Background="{DynamicResource RegionBrush}"> - + + + + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs index dc8f65fd..02c0ca3a 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PinBoxDemoCtl.xaml.cs @@ -1,4 +1,7 @@ -namespace HandyControlDemo.UserControl +using System.Windows; +using HandyControl.Controls; + +namespace HandyControlDemo.UserControl { public partial class PinBoxDemoCtl { @@ -6,5 +9,13 @@ { InitializeComponent(); } + + private void PinBox_OnCompleted(object sender, RoutedEventArgs e) + { + if (e.OriginalSource is PinBox pinBox) + { + Growl.Info(pinBox.Password); + } + } } } diff --git a/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs b/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs index 1c2037aa..5fdd95be 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/PasswordBox.cs @@ -60,8 +60,6 @@ namespace HandyControl.Controls private SecureString _password; - private char _passwordChar; - private System.Windows.Controls.TextBox _textBox; public PasswordBox() @@ -223,12 +221,6 @@ namespace HandyControl.Controls } } } - - if (_passwordChar != default(char)) - { - ActualPasswordBox.PasswordChar = _passwordChar; - _passwordChar = default; - } } if (_textBox != null) diff --git a/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs b/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs index addf3612..89fa3e43 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/PinBox.cs @@ -1,10 +1,14 @@ using System; +using System.Collections.Generic; using System.Linq; +using System.Runtime.InteropServices; +using System.Security; using System.Windows; using System.Windows.Controls; using System.Windows.Input; using HandyControl.Data; using HandyControl.Tools; +using HandyControl.Tools.Extension; namespace HandyControl.Controls { @@ -21,6 +25,10 @@ namespace HandyControl.Controls private bool _changed; + private bool _isInternalAction; + + private List _passwordList; + private RoutedEventHandler _passwordBoxsGotFocusEventHandler; private RoutedEventHandler _passwordBoxsPasswordChangedEventHandler; @@ -51,6 +59,8 @@ namespace HandyControl.Controls private void PasswordBoxsPasswordChanged(object sender, RoutedEventArgs e) { + if (_isInternalAction) return; + if (e.OriginalSource is System.Windows.Controls.PasswordBox passwordBox) { if (passwordBox.Password.Length > 0) @@ -88,6 +98,7 @@ namespace HandyControl.Controls if (e.OriginalSource is System.Windows.Controls.PasswordBox passwordBox) { _inputIndex = _panel.Children.IndexOf(passwordBox); + passwordBox.SelectAll(); } } @@ -103,7 +114,10 @@ namespace HandyControl.Controls return; } - FocusManager.SetFocusedElement(this, _panel.Children[_inputIndex]); + var passwordBox = _panel.Children[_inputIndex] as System.Windows.Controls.PasswordBox; + passwordBox?.SelectAll(); + + FocusManager.SetFocusedElement(this, passwordBox); } else if (e.Key == Key.Right) { @@ -113,7 +127,10 @@ namespace HandyControl.Controls return; } - FocusManager.SetFocusedElement(this, _panel.Children[_inputIndex]); + var passwordBox = _panel.Children[_inputIndex] as System.Windows.Controls.PasswordBox; + passwordBox?.SelectAll(); + + FocusManager.SetFocusedElement(this, passwordBox); } } @@ -129,6 +146,13 @@ namespace HandyControl.Controls if (e.Key == Key.Delete || e.Key == Key.Back) { + if (_panel.Children[_inputIndex] is System.Windows.Controls.PasswordBox passwordBox) + { + _isInternalAction = true; + passwordBox.Clear(); + _isInternalAction = false; + } + if (--_inputIndex < 0) { _inputIndex = 0; @@ -139,8 +163,66 @@ namespace HandyControl.Controls } } + public string Password + { + get + { + return string.Join("", _panel.Children.OfType().Select(item => item.Password)); + } + set + { + if (_panel == null) + { + _passwordList = new List(); + + if (value == null) + { + value = string.Empty; + } + + foreach (var item in value) + { + var secureString = new SecureString(); + secureString.AppendChar(item); + _passwordList.Add(secureString); + } + + return; + } + + var length = Length; + if (string.IsNullOrEmpty(value) || value.Length != length || value.Length != _panel.Children.Count) + { + _panel.Children.OfType().Do(item => item.Clear()); + } + else + { + _panel.Children.OfType().DoWithIndex((item, index) => item.Password = value[index].ToString()); + } + } + } + + /// + /// 掩码字符 + /// + public static readonly DependencyProperty PasswordCharProperty = + System.Windows.Controls.PasswordBox.PasswordCharProperty.AddOwner(typeof(PinBox), + new FrameworkPropertyMetadata('●')); + + public char PasswordChar + { + get => (char)GetValue(PasswordCharProperty); + set => SetValue(PasswordCharProperty, value); + } + public static readonly DependencyProperty LengthProperty = DependencyProperty.Register( - "Length", typeof(int), typeof(PinBox), new PropertyMetadata(MinLength, null, CoerceLength), ValidateHelper.IsInRangeOfPosInt); + "Length", typeof(int), typeof(PinBox), new PropertyMetadata(MinLength, OnLengthChanged, CoerceLength), ValidateHelper.IsInRangeOfPosInt); + + private static void OnLengthChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var ctl = (PinBox) d; + ctl.UpdateItems(); + } private static object CoerceLength(DependencyObject d, object basevalue) => (int)basevalue < 4 ? MinLength : basevalue; @@ -179,9 +261,9 @@ namespace HandyControl.Controls public static readonly RoutedEvent CompletedEvent = EventManager.RegisterRoutedEvent("Completed", RoutingStrategy.Bubble, - typeof(EventHandler), typeof(PinBox)); + typeof(RoutedEventHandler), typeof(PinBox)); - public event EventHandler Completed + public event RoutedEventHandler Completed { add => AddHandler(CompletedEvent, value); remove => RemoveHandler(CompletedEvent, value); @@ -189,6 +271,8 @@ namespace HandyControl.Controls private void UpdateItems() { + if (_panel == null) return; + _panel.Children.Clear(); var length = Length; @@ -208,7 +292,8 @@ namespace HandyControl.Controls Margin = ItemMargin, Width = ItemWidth, Height = ItemHeight, - Padding = new Thickness() + Padding = default, + PasswordChar = PasswordChar }; } @@ -220,6 +305,34 @@ namespace HandyControl.Controls if (_panel != null) { UpdateItems(); + + var length = Length; + if (_passwordList != null && _passwordList.Count == length && _panel.Children.Count == length) + { + for (var i = 0; i < length; i++) + { + var password = _passwordList[i]; + if (password.Length > 0) + { + var valuePtr = IntPtr.Zero; + try + { + valuePtr = Marshal.SecureStringToGlobalAllocUnicode(password); + if (_panel.Children[i] is System.Windows.Controls.PasswordBox passwordBox) + { + passwordBox.Password = Marshal.PtrToStringUni(valuePtr) ?? throw new InvalidOperationException(); + } + } + finally + { + Marshal.ZeroFreeGlobalAllocUnicode(valuePtr); + password.Clear(); + } + } + } + + _passwordList.Clear(); + } } } } diff --git a/src/Shared/HandyControl_Shared/Tools/Extension/EnumerableExtension.cs b/src/Shared/HandyControl_Shared/Tools/Extension/EnumerableExtension.cs index 68232166..3d5685db 100644 --- a/src/Shared/HandyControl_Shared/Tools/Extension/EnumerableExtension.cs +++ b/src/Shared/HandyControl_Shared/Tools/Extension/EnumerableExtension.cs @@ -16,5 +16,16 @@ namespace HandyControl.Tools.Extension return enumerable; } + + public static IEnumerable DoWithIndex(this IEnumerable source, Action predicate) + { + var enumerable = source as IList ?? source.ToList(); + for (var i = 0; i < enumerable.Count; i++) + { + predicate.Invoke(enumerable[i], i); + } + + return enumerable; + } } } \ No newline at end of file From 952cf564d0908d75af606b0b94417f3329a04d20 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 15 Jan 2020 01:09:09 +0800 Subject: [PATCH 15/26] Update index.md --- doc/source/handycontrol/tnx/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/handycontrol/tnx/index.md b/doc/source/handycontrol/tnx/index.md index 7e1b38aa..565cb3ca 100644 --- a/doc/source/handycontrol/tnx/index.md +++ b/doc/source/handycontrol/tnx/index.md @@ -12,4 +12,4 @@ title: 鸣谢 # 感谢以下捐赠者 -

bigorange190014632791IUpdatablemapleweisunshang-hlyangkang326zmrbakAFei19911012wayne2006towerDLHBluceBosenMrZhangYuan

\ No newline at end of file +

bigorange190014632791IUpdatablemapleweisunshang-hlyangkang326zmrbakAFei19911012wayne2006towerDLHBluceBosenMrZhangYuanYC946586

\ No newline at end of file From 0ab014f81dc1aa897a1f7a0ee66ce6bd29c57b47 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Wed, 15 Jan 2020 22:25:07 +0800 Subject: [PATCH 16/26] add some styles add Separator and StatusBar style --- .../HandyControl_Shared.projitems | 16 ++++++++++++++++ .../Themes/Styles/Base/SeparatorBaseStyle.xaml | 8 ++++++++ .../Themes/Styles/Base/StatusBarBaseStyle.xaml | 16 ++++++++++++++++ .../Themes/Styles/Separator.xaml | 9 +++++++++ .../Themes/Styles/StatusBar.xaml | 9 +++++++++ .../HandyControl_Shared/Themes/Styles/Style.xaml | 2 ++ 6 files changed, 60 insertions(+) create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/Base/SeparatorBaseStyle.xaml create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/Base/StatusBarBaseStyle.xaml create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/Separator.xaml create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/StatusBar.xaml diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems index 32cab771..95008f3d 100644 --- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems +++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems @@ -394,6 +394,22 @@ Designer MSBuild:Compile
+ + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/SeparatorBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/SeparatorBaseStyle.xaml new file mode 100644 index 00000000..2b9f91b0 --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/SeparatorBaseStyle.xaml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/StatusBarBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/StatusBarBaseStyle.xaml new file mode 100644 index 00000000..1da267ba --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/StatusBarBaseStyle.xaml @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Separator.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Separator.xaml new file mode 100644 index 00000000..f50f2ab3 --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Separator.xaml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file From 02e8fc4a1361216303f06862f7df421e2e2dd51a Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Thu, 16 Jan 2020 23:49:02 +0800 Subject: [PATCH 18/26] add FlowDocumentScrollViewer style --- README.md | 8 +- .../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 + .../LeftMainContent/WPFFlowDocument_16x.png | Bin 0 -> 315 bytes .../Controls/RangeSliderDemoCtl.xaml | 8 +- .../FlowDocumentScrollViewerDemoCtl.xaml | 101 ++++++++++++++++++ .../FlowDocumentScrollViewerDemoCtl.xaml.cs | 10 ++ .../UserControl/Styles/SliderDemoCtl.xaml | 8 +- .../Controls/Attach/TipElement.cs | 9 ++ .../HandyControl_Shared.projitems | 4 + .../Properties/Langs/Lang.Designer.cs | 18 ++++ .../Properties/Langs/Lang.en.resx | 6 ++ .../Properties/Langs/Lang.fa.resx | 6 ++ .../Properties/Langs/Lang.fr.resx | 6 ++ .../Properties/Langs/Lang.ko-KR.resx | 6 ++ .../Properties/Langs/Lang.resx | 6 ++ .../Themes/Styles/Base/SliderBaseStyle.xaml | 32 +++--- .../Styles/FlowDocumentScrollViewer.xaml | 55 ++++++++++ .../Themes/Styles/Style.xaml | 1 + 28 files changed, 299 insertions(+), 26 deletions(-) create mode 100644 src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/WPFFlowDocument_16x.png create mode 100644 src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml create mode 100644 src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml.cs create mode 100644 src/Shared/HandyControl_Shared/Themes/Styles/FlowDocumentScrollViewer.xaml diff --git a/README.md b/README.md index 15c92ccd..f2aeea26 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,10 @@ Step 4:enjoy coding ## Latest examples +### FlowDocumentScrollViewerStyle + +![FlowDocumentScrollViewerStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/FlowDocumentScrollViewer.png) + ### PinBox ![PinBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/PinBox.png) @@ -113,12 +117,12 @@ Step 4:enjoy coding ![Drawer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Drawer.gif) +## History publication + ### Poptip ![Poptip](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Poptip.gif) -## History publication - ### Divider ![Divider](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Divider.png) diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj index b3c41945..f91f3b1d 100644 --- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj +++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj @@ -457,6 +457,9 @@ Resources\Img\LeftMainContent\Ellipsis_16x.png + + Resources\Img\LeftMainContent\WPFFlowDocument_16x.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 d2ee3658..bba16269 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -523,6 +523,9 @@ Resources\Img\LeftMainContent\Ellipsis_16x.png + + Resources\Img\LeftMainContent\WPFFlowDocument_16x.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 9b86a79e..94a32b27 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -586,6 +586,9 @@ Resources\Img\LeftMainContent\Ellipsis_16x.png + + Resources\Img\LeftMainContent\WPFFlowDocument_16x.png + diff --git a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json index e10713f7..09201d74 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json +++ b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json @@ -26,6 +26,7 @@ [ "GroupBox", "GroupBoxDemoCtl", "GroupBox_16x", "" ], [ "Menu", "MenuDemoCtl", "ContextMenu_16x", "" ], [ "RichTextBox", "RichTextBoxDemoCtl", "RichTextBox_16x", "" ], + [ "FlowDocumentScrollViewer", "FlowDocumentScrollViewerDemoCtl", "WPFFlowDocument_16x", "1" ], [ "ToolBar", "ToolBarDemoCtl", "ToolBar_16x", "" ], [ "Border", "BorderDemoCtl", "BorderElement_16x", "" ], [ "Label", "LabelDemoCtl", "Label_16x", "" ] diff --git a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems index e9b3c59e..17fed60e 100644 --- a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems +++ b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems @@ -293,6 +293,9 @@ ExpanderDemoCtl.xaml + + FlowDocumentScrollViewerDemoCtl.xaml + GroupBoxDemoCtl.xaml @@ -800,6 +803,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 7c2eff9a..0a7a2898 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs @@ -627,6 +627,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 流文档滚动视图 的本地化字符串。 + /// + public static string FlowDocumentScrollViewer { + get { + return ResourceManager.GetString("FlowDocumentScrollViewer", 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 82034ede..eec92d63 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx @@ -714,4 +714,7 @@ PinBox + + FlowDocumentScrollViewer + \ 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 d6102272..17f72064 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx @@ -714,4 +714,7 @@ PinBox + + FlowDocumentScrollViewer + \ 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 95a79a20..2a9f70e6 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx @@ -714,4 +714,7 @@ PinBox + + FlowDocumentScrollViewer + \ 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 6c0bf75a..b16ff604 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx @@ -714,4 +714,7 @@ PinBox + + FlowDocumentScrollViewer + \ 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 e5d2b80e..45a4e46c 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx @@ -714,4 +714,7 @@ PIN码框 + + 流文档滚动视图 + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/WPFFlowDocument_16x.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/WPFFlowDocument_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..605a4f49da56b69d077f1791232d5920b8b2ece6 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5M?jcysy3fAQ1Gp% zi(^Pd+|uCPyv+t8TY9Bq44vE(SgTy7qzKMnF+0KHDdnZ&#-W|Utfgi5(bGbyvMi?H z(qvuxyL+uqKRdl?gYAPfW1eRJm6xY#EUhv*ldw^BN#?6Ht5zlXW_(?6c$)G}{&(Bi zC2RN1iMVWX<5=Z9`>h^K?nfHg1sW%F_?1lLNYOf_wn*@%@&yZ(X@XxZ6qQkomLK(uwT+=ZD)w5IrcjyN|a?3oU`Bmk$2|2oY_T__lE;L&fw|l K=d#Wzp$Py$p>)~+ literal 0 HcmV?d00001 diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/RangeSliderDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/RangeSliderDemoCtl.xaml index 0dd0f1b7..8f4f3b99 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/RangeSliderDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/RangeSliderDemoCtl.xaml @@ -8,14 +8,14 @@ - - + + - - + + diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml new file mode 100644 index 00000000..f6c8c9c3 --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml @@ -0,0 +1,101 @@ + + + + +
+ + Neptune (planet), major planet in the solar system, eighth planet + from the Sun and fourth largest in diameter. Neptune maintains an almost constant + distance, about 4,490 million km (about 2,790 million mi), from the Sun. Neptune + revolves outside the orbit of Uranus and for most of its orbit moves inside the + elliptical path of the outermost planet Pluto (see Solar System). Every 248 years, + Pluto’s elliptical orbit brings the planet inside Neptune’s nearly circular orbit + for about 20 years, temporarily making Neptune the farthest planet from the Sun. + The last time Pluto’s orbit brought it inside Neptune’s orbit was in 1979. In + 1999 Pluto’s orbit carried it back outside Neptune’s orbit. +
+ + Neptune has 72 times Earth's volume... + +
+ + + + + + + + + + Neptune Stats + + + + + Mean Distance from Sun + + + 4,504,000,000 km + + + + + Mean Diameter + + + 49,532 km + + + + + Approximate Mass + + + 1.0247e26 kg + + + + + + Information from the + Encarta + web site. + + + + +
+
+
+ + Astronomers believe Neptune has an inner rocky core that is surrounded by a vast + ocean of water mixed with rocky material. From the inner core, this ocean extends + upward until it meets a gaseous atmosphere of hydrogen, helium, and trace amounts + of methane. Neptune has four rings and 11 known moons. Even though Neptune's volume + is 72 times Earth’s volume, its mass is only 17.15 times Earth’s mass. Because of + its size, scientists classify Neptune—along with Jupiter, Saturn, and Uranus—as + one of the giant or Jovian planets (so-called because they resemble Jupiter). + + +
+ + Neptune has an orbital period of ~20 years... + +
+ Mathematical theories of astronomy led to the discovery of Neptune. To account for + wobbles in the orbit of the planet Uranus, British astronomer John Couch Adams and + French astronomer Urbain Jean Joseph Leverrier independently calculated the existence + and position of a new planet in 1845 and 1846, respectively. They theorized that the + gravitational attraction of this planet for Uranus was causing the wobbles in Uranus’s + orbit. Using information from Leverrier, German astronomer Johann Gottfried Galle first + observed the planet in 1846. +
+
+
+
+
+
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml.cs b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml.cs new file mode 100644 index 00000000..0ebfaccf --- /dev/null +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/FlowDocumentScrollViewerDemoCtl.xaml.cs @@ -0,0 +1,10 @@ +namespace HandyControlDemo.UserControl +{ + public partial class FlowDocumentScrollViewerDemoCtl + { + public FlowDocumentScrollViewerDemoCtl() + { + InitializeComponent(); + } + } +} diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/SliderDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/SliderDemoCtl.xaml index 06347065..1094c1f5 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Styles/SliderDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Styles/SliderDemoCtl.xaml @@ -9,15 +9,15 @@ - - + + - - + + diff --git a/src/Shared/HandyControl_Shared/Controls/Attach/TipElement.cs b/src/Shared/HandyControl_Shared/Controls/Attach/TipElement.cs index 5fa5481f..86777414 100644 --- a/src/Shared/HandyControl_Shared/Controls/Attach/TipElement.cs +++ b/src/Shared/HandyControl_Shared/Controls/Attach/TipElement.cs @@ -18,5 +18,14 @@ namespace HandyControl.Controls public static void SetPlacement(DependencyObject element, TipPlacement value) => element.SetValue(PlacementProperty, value); public static TipPlacement GetPlacement(DependencyObject element) => (TipPlacement) element.GetValue(PlacementProperty); + + public static readonly DependencyProperty StringFormatProperty = DependencyProperty.RegisterAttached( + "StringFormat", typeof(string), typeof(TipElement), new PropertyMetadata("#0.0")); + + public static void SetStringFormat(DependencyObject element, string value) + => element.SetValue(StringFormatProperty, value); + + public static string GetStringFormat(DependencyObject element) + => (string) element.GetValue(StringFormatProperty); } } \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems index 95008f3d..cb8ba292 100644 --- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems +++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems @@ -394,6 +394,10 @@ Designer MSBuild:Compile
+ + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs index d9db4d8d..cc31cac1 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.Designer.cs @@ -320,5 +320,23 @@ namespace HandyControl.Properties.Langs { return ResourceManager.GetString("Yes", resourceCulture); } } + + /// + /// 查找类似 放大 的本地化字符串。 + /// + public static string ZoomIn { + get { + return ResourceManager.GetString("ZoomIn", resourceCulture); + } + } + + /// + /// 查找类似 缩小 的本地化字符串。 + /// + public static string ZoomOut { + get { + return ResourceManager.GetString("ZoomOut", resourceCulture); + } + } } } diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.en.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.en.resx index 28b6a0dc..4992c864 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.en.resx +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.en.resx @@ -184,4 +184,10 @@ No + + Zoom in + + + Zoom out + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fa.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fa.resx index 58de5d70..166a0b08 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fa.resx +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fa.resx @@ -184,4 +184,10 @@ خیر + + Zoom in + + + Zoom out + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fr.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fr.resx index f616fa21..c400a1f2 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fr.resx +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.fr.resx @@ -204,4 +204,10 @@ Non + + Zoom in + + + Zoom out + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx index 295d0acb..2579b146 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.ko-KR.resx @@ -204,4 +204,10 @@ 네 + + Zoom in + + + Zoom out + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx index 76827085..679dd9bb 100644 --- a/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx +++ b/src/Shared/HandyControl_Shared/Properties/Langs/Lang.resx @@ -184,4 +184,10 @@ 否 + + 放大 + + + 缩小 + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/SliderBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/SliderBaseStyle.xaml index 9d71bc2a..d371ad3a 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/SliderBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/SliderBaseStyle.xaml @@ -72,7 +72,7 @@ - @@ -103,7 +103,7 @@ - @@ -134,7 +134,7 @@ - @@ -165,7 +165,7 @@ - @@ -223,14 +223,14 @@ - + - + @@ -280,14 +280,14 @@ - + - + @@ -709,7 +709,7 @@ - @@ -740,7 +740,7 @@ - @@ -771,7 +771,7 @@ - @@ -802,7 +802,7 @@ - @@ -862,7 +862,7 @@ - + @@ -870,7 +870,7 @@ - + @@ -920,7 +920,7 @@ - + @@ -928,7 +928,7 @@ - + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/FlowDocumentScrollViewer.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/FlowDocumentScrollViewer.xaml new file mode 100644 index 00000000..e64aedab --- /dev/null +++ b/src/Shared/HandyControl_Shared/Themes/Styles/FlowDocumentScrollViewer.xaml @@ -0,0 +1,55 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml index 063d9132..5a7386e4 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml @@ -81,6 +81,7 @@ + \ No newline at end of file From de5c2e7a6ec0f312ae2da91fcf27873fd11f346f Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Fri, 17 Jan 2020 23:34:00 +0800 Subject: [PATCH 19/26] init branch --- .../HandyControlDemo_Core30.csproj | 3 ++ .../HandyControlDemo_Net_40.csproj | 3 ++ .../HandyControlDemo_Net_GE45.csproj | 3 ++ .../Data/DemoInfo.json | 4 +-- .../Data/MessageToken.cs | 2 ++ .../Data/MessageToken.tt | 3 +- .../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 ++ .../OutlinedRectangleTool_16x.png | Bin 0 -> 133 bytes .../UserControl/Controls/WindowDemoCtl.xaml | 3 ++ .../Window/BlurWindow.xaml | 26 +++++++++--------- .../Window/GlowWindow.xaml | 17 ++++++++++++ .../Window/GlowWindow.xaml.cs | 10 +++++++ .../Controls/Window/GlowWindow.cs | 7 +++++ .../HandyControl_Shared.projitems | 1 + 20 files changed, 97 insertions(+), 16 deletions(-) create mode 100644 src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/OutlinedRectangleTool_16x.png create mode 100644 src/Shared/HandyControlDemo_Shared/Window/GlowWindow.xaml create mode 100644 src/Shared/HandyControlDemo_Shared/Window/GlowWindow.xaml.cs create mode 100644 src/Shared/HandyControl_Shared/Controls/Window/GlowWindow.cs diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj index f91f3b1d..80a476b3 100644 --- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj +++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj @@ -460,6 +460,9 @@ Resources\Img\LeftMainContent\WPFFlowDocument_16x.png + + Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.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 bba16269..98fcf4f6 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -526,6 +526,9 @@ Resources\Img\LeftMainContent\WPFFlowDocument_16x.png + + Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.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 94a32b27..2fd623be 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -589,6 +589,9 @@ Resources\Img\LeftMainContent\WPFFlowDocument_16x.png + + Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png + diff --git a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json index 09201d74..89503cad 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json +++ b/src/Shared/HandyControlDemo_Shared/Data/DemoInfo.json @@ -45,7 +45,7 @@ [ "ButtonGroup", "ButtonGroupDemoCtl", "ButtonGroup_16x", "" ], [ "ProgressButton", "ProgressButtonDemoCtl", "ProgressButton_16x", "" ], [ "ChatBubble", "ChatBubbleDemoCtl", "Bubble_16xLG", "" ], - [ "Poptip", "PoptipDemoCtl", "PopupCursor_16x", "1" ], + [ "Poptip", "PoptipDemoCtl", "PopupCursor_16x", "" ], [ "NotifyIcon", "NotifyIconDemoCtl", "NotificationHub_16x", "" ], [ "NumericUpDown", "NumericUpDownDemoCtl", "NumericListBox_16x", "" ], [ "TextBox", "TextBoxDemoCtl", "TextBox_16x", "" ], @@ -96,7 +96,7 @@ [ "Sprite", "SpriteDemoCtl", "HandyControl", "" ], [ "Notification", "NotificationDemoCtl", "Procedure_16x", "" ], [ "Dialog", "DialogDemoCtl", "Dialog_16x", "" ], - [ "Window", "WindowDemoCtl", "WindowsForm_16x", "" ] + [ "Window", "WindowDemoCtl", "WindowsForm_16x", "1" ] ] }, { diff --git a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs index 5d039b04..e18b5fb7 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs +++ b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.cs @@ -40,5 +40,7 @@ public static readonly string QQGroupView = nameof(QQGroupView); + public static readonly string GlowWindow = nameof(GlowWindow); + } } \ 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 885626a9..db0696aa 100644 --- a/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt +++ b/src/Shared/HandyControlDemo_Shared/Data/MessageToken.tt @@ -22,7 +22,8 @@ var messageList = new List "BlurWindow", "CustomNonClientAreaWindow", "NoNonClientAreaDragableWindow", - "QQGroupView" + "QQGroupView", + "GlowWindow" }; #> namespace HandyControlDemo.Data diff --git a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems index 17fed60e..45a6fcf3 100644 --- a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems +++ b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems @@ -407,6 +407,9 @@ DialogDemoWindow.xaml + + GlowWindow.xaml + GrowlDemoWindow.xaml @@ -923,6 +926,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 0a7a2898..21e62118 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs @@ -1050,6 +1050,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 点击打开辉光窗口 的本地化字符串。 + /// + public static string OpenGlowWindow { + get { + return ResourceManager.GetString("OpenGlowWindow", resourceCulture); + } + } + /// /// 查找类似 点击打开图片浏览器 的本地化字符串。 /// diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx index eec92d63..dbc55e2a 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx @@ -717,4 +717,7 @@ FlowDocumentScrollViewer + + Open glowWindow + \ 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 17f72064..6f5aec9c 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx @@ -717,4 +717,7 @@ FlowDocumentScrollViewer + + Open glowWindow + \ 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 2a9f70e6..51edab20 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx @@ -717,4 +717,7 @@ FlowDocumentScrollViewer + + Open glowWindow + \ 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 b16ff604..67447dbd 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.ko-KR.resx @@ -717,4 +717,7 @@ FlowDocumentScrollViewer + + Open glowWindow + \ 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 45a4e46c..a6a4fc1d 100644 --- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx +++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx @@ -717,4 +717,7 @@ 流文档滚动视图 + + 点击打开辉光窗口 + \ No newline at end of file diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/OutlinedRectangleTool_16x.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/OutlinedRectangleTool_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb6eb86b80a39faf8e9d18423d1e162b80397f4a GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMprE;@ zi(^Pd+}lfrTnq|4&KKwCe&6r?dQ#{?;f|##nGe?IbN!jTMLV|Pi9fHyv8t7<5(oY_ cdu@2n5L$2jd|oN5BG3p1Pgg&ebxsLQ08m{j=l}o! literal 0 HcmV?d00001 diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/WindowDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/WindowDemoCtl.xaml index 7417064e..aeb6f37f 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/WindowDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/WindowDemoCtl.xaml @@ -16,6 +16,9 @@