From ab6e2efe21777379ca2594d6dadba58df0fca1a6 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Thu, 31 Jan 2019 21:10:51 +0800 Subject: [PATCH] Synchronize the Net40 --- HandyControl/Data/ResourceToken.cs | 2 +- HandyControl/Data/ResourceToken.tt | 63 ---- HandyControl/HandyControl.csproj | 12 +- Net40/HandyControlDemo_Net40/App.xaml.cs | 4 + .../HandyControlDemo_Net40/Data/AppConfig.cs | 2 +- .../HandyControlDemo_Net40/Data/GlobalData.cs | 3 +- .../Data/MessageToken.cs | 19 +- .../Data/MessageToken.tt | 24 +- .../Data/Model/ChatInfoModel.cs | 17 + .../HandyControlDemo_Net40.csproj | 56 +++- Net40/HandyControlDemo_Net40/MainWindow.xaml | 41 +-- .../Properties/Langs/Lang.Designer.cs | 63 ++++ .../Properties/Langs/Lang.en.resx | 23 +- .../Properties/Langs/Lang.resx | 23 +- .../Resources/Img/Chat/chat_back1.jpg | Bin 0 -> 58800 bytes .../Resources/Img/Chat/chat_back2.jpg | Bin 0 -> 50448 bytes .../Img/LeftMainContent/Bubble_16xLG.png | Bin 0 -> 312 bytes .../LeftMainContent/ProgressButton_16x.png | Bin 0 -> 200 bytes .../Img/LeftMainContent/Transfer_16x.png | Bin 0 -> 164 bytes .../Resources/Themes/Basic/Geometries.xaml | 2 + .../Resources/Themes/Styles/Style.xaml | 36 ++- .../Service/DataService.cs | 4 +- .../Tools/{ => Helper}/AssemblyHelper.cs | 0 .../Tools/{ => Helper}/CommonHelper.cs | 0 .../Tools/Helper/ExternDllHelper.cs | 12 + .../UserControl/Basic/ChatBox.xaml | 61 ++++ .../UserControl/Basic/ChatBox.xaml.cs | 10 + .../Controls/ChatBubbleDemoCtl.xaml | 20 ++ .../Controls/ChatBubbleDemoCtl.xaml.cs | 10 + .../Controls/ProgressButtonDemoCtl.xaml | 17 + .../Controls/ProgressButtonDemoCtl.xaml.cs | 65 ++++ .../UserControl/Controls/TransferDemoCtl.xaml | 15 + .../Controls/TransferDemoCtl.xaml.cs | 10 + .../Controls/WaterfallPanelDemoCtl.xaml | 6 +- .../UserControl/Controls/WindowDemoCtl.xaml | 1 + .../Controls/WindowDemoCtl.xaml.cs | 14 + .../UserControl/Main/ContributorsView.xaml | 4 +- .../UserControl/Main/LeftMainContent.xaml | 25 +- .../UserControl/Main/LeftMainContent.xaml.cs | 14 +- .../ViewModel/Basic/ChatBoxViewModel.cs | 172 ++++++++++ .../{ => Common}/ComboBoxDemoViewModel.cs | 0 .../{ => Controls}/GrowlDemoViewModel.cs | 0 .../ImageBrowserDemoViewModel.cs | 0 .../{ => Controls}/PaginationDemoViewModel.cs | 0 .../{ => Controls}/StepBarDemoViewModel.cs | 0 .../{ => Controls}/WindowDemoViewModel.cs | 0 .../{ => Main}/ContributorsViewModel.cs | 0 .../ViewModel/{ => Main}/MainViewModel.cs | 0 .../ViewModel/ViewModelLocator.cs | 3 + .../Controls/Attach/IconElement.cs | 1 - .../Controls/Base/SelectableItem.cs | 57 +++- .../Controls/Base/SimpleItemsControl.cs | 45 ++- .../Controls/Button/ProgressButton.cs | 27 ++ .../Controls/Cover/CoverFlow/CoverFlow.cs | 305 ++++++++++++++++++ .../Controls/Cover/CoverFlow/CoverFlowItem.cs | 165 ++++++++++ .../Controls/Cover/CoverView/CoverView.cs | 216 +++++++++++++ .../Cover/CoverView/CoverViewContent.cs | 122 +++++++ .../Controls/Cover/CoverView/CoverViewItem.cs | 7 + .../Controls/Input/SearchBar.cs | 1 + .../Controls/Other/ChatBubble.cs | 52 +++ .../Controls/Transfer/Transfer.cs | 223 +++++++++++++ .../Controls/Transfer/TransferGroup.cs | 54 ++++ .../Controls/Transfer/TransferItem.cs | 26 ++ .../Controls/Window/MessageBox.cs | 158 ++++++--- .../Data/Enum/ChatMessageType.cs | 10 + .../Data/Enum/ChatRoleType.cs | 8 + .../HandyControl_Net40/Data/MessageBoxInfo.cs | 21 ++ .../HandyControl_Net40/Data/ResourceToken.cs | 64 ++-- .../HandyControl_Net40/Data/ResourceToken.tt | 63 ---- .../HandyControl_Net40.csproj | 55 +++- .../Themes/Basic/Geometries.xaml | 2 + .../Styles/Base/ChatBubbleBaseStyle.xaml | 165 ++++++++++ .../Styles/Base/ProgressBarBaseStyle.xaml | 2 +- .../Styles/Base/ProgressButtonBaseStyle.xaml | 67 ++++ .../Themes/Styles/Base/TransferBaseStyle.xaml | 115 +++++++ .../Themes/Styles/Carousel.xaml | 17 +- .../Themes/Styles/ChatBubble.xaml | 10 + .../Themes/Styles/ListBox.xaml | 39 ++- .../Themes/Styles/ProgressButton.xaml | 43 +++ .../Themes/Styles/Style.xaml | 3 + .../Themes/Styles/Transfer.xaml | 10 + .../Themes/Styles/Window.xaml | 14 +- .../Tools/Extension/EnumerableExtension.cs | 20 ++ .../Tools/Helper/ValidateHelper.cs | 28 +- .../Tools/Helper/VisualHelper.cs | 8 +- README.md | 16 +- Resources/MessageBox.png | Bin 0 -> 9713 bytes 87 files changed, 2743 insertions(+), 349 deletions(-) delete mode 100644 HandyControl/Data/ResourceToken.tt create mode 100644 Net40/HandyControlDemo_Net40/Data/Model/ChatInfoModel.cs create mode 100644 Net40/HandyControlDemo_Net40/Resources/Img/Chat/chat_back1.jpg create mode 100644 Net40/HandyControlDemo_Net40/Resources/Img/Chat/chat_back2.jpg create mode 100644 Net40/HandyControlDemo_Net40/Resources/Img/LeftMainContent/Bubble_16xLG.png create mode 100644 Net40/HandyControlDemo_Net40/Resources/Img/LeftMainContent/ProgressButton_16x.png create mode 100644 Net40/HandyControlDemo_Net40/Resources/Img/LeftMainContent/Transfer_16x.png rename Net40/HandyControlDemo_Net40/Tools/{ => Helper}/AssemblyHelper.cs (100%) rename Net40/HandyControlDemo_Net40/Tools/{ => Helper}/CommonHelper.cs (100%) create mode 100644 Net40/HandyControlDemo_Net40/Tools/Helper/ExternDllHelper.cs create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml.cs create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml.cs create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml create mode 100644 Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml.cs create mode 100644 Net40/HandyControlDemo_Net40/ViewModel/Basic/ChatBoxViewModel.cs rename Net40/HandyControlDemo_Net40/ViewModel/{ => Common}/ComboBoxDemoViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Controls}/GrowlDemoViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Controls}/ImageBrowserDemoViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Controls}/PaginationDemoViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Controls}/StepBarDemoViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Controls}/WindowDemoViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Main}/ContributorsViewModel.cs (100%) rename Net40/HandyControlDemo_Net40/ViewModel/{ => Main}/MainViewModel.cs (100%) create mode 100644 Net40/HandyControl_Net40/Controls/Button/ProgressButton.cs create mode 100644 Net40/HandyControl_Net40/Controls/Cover/CoverFlow/CoverFlow.cs create mode 100644 Net40/HandyControl_Net40/Controls/Cover/CoverFlow/CoverFlowItem.cs create mode 100644 Net40/HandyControl_Net40/Controls/Cover/CoverView/CoverView.cs create mode 100644 Net40/HandyControl_Net40/Controls/Cover/CoverView/CoverViewContent.cs create mode 100644 Net40/HandyControl_Net40/Controls/Cover/CoverView/CoverViewItem.cs create mode 100644 Net40/HandyControl_Net40/Controls/Other/ChatBubble.cs create mode 100644 Net40/HandyControl_Net40/Controls/Transfer/Transfer.cs create mode 100644 Net40/HandyControl_Net40/Controls/Transfer/TransferGroup.cs create mode 100644 Net40/HandyControl_Net40/Controls/Transfer/TransferItem.cs create mode 100644 Net40/HandyControl_Net40/Data/Enum/ChatMessageType.cs create mode 100644 Net40/HandyControl_Net40/Data/Enum/ChatRoleType.cs create mode 100644 Net40/HandyControl_Net40/Data/MessageBoxInfo.cs delete mode 100644 Net40/HandyControl_Net40/Data/ResourceToken.tt create mode 100644 Net40/HandyControl_Net40/Themes/Styles/Base/ChatBubbleBaseStyle.xaml create mode 100644 Net40/HandyControl_Net40/Themes/Styles/Base/ProgressButtonBaseStyle.xaml create mode 100644 Net40/HandyControl_Net40/Themes/Styles/Base/TransferBaseStyle.xaml create mode 100644 Net40/HandyControl_Net40/Themes/Styles/ChatBubble.xaml create mode 100644 Net40/HandyControl_Net40/Themes/Styles/ProgressButton.xaml create mode 100644 Net40/HandyControl_Net40/Themes/Styles/Transfer.xaml create mode 100644 Net40/HandyControl_Net40/Tools/Extension/EnumerableExtension.cs create mode 100644 Resources/MessageBox.png diff --git a/HandyControl/Data/ResourceToken.cs b/HandyControl/Data/ResourceToken.cs index ab9f77ed..bba58672 100644 --- a/HandyControl/Data/ResourceToken.cs +++ b/HandyControl/Data/ResourceToken.cs @@ -1,6 +1,6 @@ namespace HandyControl.Data { - public class ResourceToken + public class ResourceToken { public const string SuccessGeometry = nameof(SuccessGeometry); diff --git a/HandyControl/Data/ResourceToken.tt b/HandyControl/Data/ResourceToken.tt deleted file mode 100644 index 77ae0102..00000000 --- a/HandyControl/Data/ResourceToken.tt +++ /dev/null @@ -1,63 +0,0 @@ -<#@ template debug="false" hostspecific="false" language="C#" #> -<#@ import namespace="System.Collections.Generic"#> -<#@ output extension=".cs" #> -<# -var geometryList = new List -{ - "SuccessGeometry", - "InfoGeometry", - "ErrorGeometry", - "WarningGeometry", - "AskGeometry", - "FatalGeometry", - "PrimaryBrush" -}; -var brushList = new List -{ - "SuccessBrush", - "InfoBrush", - "DangerBrush", - "WarningBrush", - "AccentBrush", - "PrimaryTextBrush", - "ThirdlyTextBrush", - "BlurGradientValue" -}; -var styleList = new List -{ - "ButtonCustom", - "PaginationButtonStyle", - "WindowWin10", - "AddTagButtonStyle", - "RadioGroupItemDefault", - "RadioGroupItemSingle", - "RadioGroupItemHorizontalFirst", - "RadioGroupItemHorizontalLast", - "RadioGroupItemVerticalFirst", - "RadioGroupItemVerticalLast", - "TabItemCapsuleDefault", - "TabItemCapsuleSingle", - "TabItemCapsuleHorizontalFirst", - "TabItemCapsuleHorizontalLast", - "TabItemCapsuleVerticalFirst", - "TabItemCapsuleVerticalLast" -}; -#> -namespace HandyControl.Data -{ - internal class ResourceToken - { - <#foreach(var item in geometryList){#> - public const string <#=item#> = nameof(<#=item#>); - - <#}#> -<#foreach(var item in brushList){#> - public const string <#=item#> = nameof(<#=item#>); - - <#}#> -<#foreach(var item in styleList){#> - public const string <#=item#> = nameof(<#=item#>); - - <#}#> -} -} \ No newline at end of file diff --git a/HandyControl/HandyControl.csproj b/HandyControl/HandyControl.csproj index 9d037710..0b3cdcc7 100644 --- a/HandyControl/HandyControl.csproj +++ b/HandyControl/HandyControl.csproj @@ -170,6 +170,7 @@ + @@ -179,11 +180,6 @@ - - True - True - ResourceToken.tt - @@ -771,12 +767,6 @@ Designer - - - TextTemplatingFileGenerator - ResourceToken.cs - - diff --git a/Net40/HandyControlDemo_Net40/App.xaml.cs b/Net40/HandyControlDemo_Net40/App.xaml.cs index 4be12a85..db6d4d17 100644 --- a/Net40/HandyControlDemo_Net40/App.xaml.cs +++ b/Net40/HandyControlDemo_Net40/App.xaml.cs @@ -1,5 +1,7 @@ using System; using System.Globalization; +using System.Net; +using System.Security.Authentication; using System.Threading; using System.Windows; using HandyControl.Controls; @@ -28,6 +30,8 @@ namespace HandyControlDemo } BlurWindow.SystemVersionInfo = CommonHelper.GetSystemVersionInfo(); + + ServicePointManager.SecurityProtocol = (SecurityProtocolType)(SslProtocols)0x00000C00; } protected override void OnExit(ExitEventArgs e) diff --git a/Net40/HandyControlDemo_Net40/Data/AppConfig.cs b/Net40/HandyControlDemo_Net40/Data/AppConfig.cs index 1768fb96..0084a625 100644 --- a/Net40/HandyControlDemo_Net40/Data/AppConfig.cs +++ b/Net40/HandyControlDemo_Net40/Data/AppConfig.cs @@ -5,7 +5,7 @@ namespace HandyControlDemo.Data { internal class AppConfig { - public static string SavePath = $"{AppDomain.CurrentDomain.BaseDirectory}AppConfig.json"; + public static readonly string SavePath = $"{AppDomain.CurrentDomain.BaseDirectory}AppConfig.json"; public string Lang { get; set; } = "zh-cn"; diff --git a/Net40/HandyControlDemo_Net40/Data/GlobalData.cs b/Net40/HandyControlDemo_Net40/Data/GlobalData.cs index 0846ca13..9c0f9f69 100644 --- a/Net40/HandyControlDemo_Net40/Data/GlobalData.cs +++ b/Net40/HandyControlDemo_Net40/Data/GlobalData.cs @@ -1,5 +1,4 @@ -using System; -using System.IO; +using System.IO; using Newtonsoft.Json; namespace HandyControlDemo.Data diff --git a/Net40/HandyControlDemo_Net40/Data/MessageToken.cs b/Net40/HandyControlDemo_Net40/Data/MessageToken.cs index 739b20bb..1669743c 100644 --- a/Net40/HandyControlDemo_Net40/Data/MessageToken.cs +++ b/Net40/HandyControlDemo_Net40/Data/MessageToken.cs @@ -76,6 +76,12 @@ 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 ButtonDemoCtl = nameof(ButtonDemoCtl); public static readonly string ToggleButtonDemoCtl = nameof(ToggleButtonDemoCtl); @@ -132,12 +138,15 @@ public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow); - public static readonly string LoadShowContent = nameof(LoadShowContent); + public static readonly string LoadShowContent = nameof(LoadShowContent); - public static readonly string FullSwitch = nameof(FullSwitch); + public static readonly string FullSwitch = nameof(FullSwitch); - public static readonly string ContributorsView = nameof(ContributorsView); + public static readonly string ContributorsView = nameof(ContributorsView); - public static readonly string ClearLeftSelected = nameof(ClearLeftSelected); - } + public static readonly string ClearLeftSelected = nameof(ClearLeftSelected); + + public static readonly string SendChatMessage = nameof(SendChatMessage); + + } } \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/Data/MessageToken.tt b/Net40/HandyControlDemo_Net40/Data/MessageToken.tt index 4962b589..f25d34ce 100644 --- a/Net40/HandyControlDemo_Net40/Data/MessageToken.tt +++ b/Net40/HandyControlDemo_Net40/Data/MessageToken.tt @@ -40,7 +40,10 @@ var controlList = new List "ShieldDemoCtl", "WaterfallPanelDemoCtl", "CoverViewDemoCtl", - "CoverFlowDemoCtl" + "CoverFlowDemoCtl", + "ProgressButtonDemoCtl", + "TransferDemoCtl", + "ChatBubbleDemoCtl" }; var styleList = new List { @@ -76,6 +79,14 @@ var windowList = new List "CommonWindow", "CustomNonClientAreaWindow" }; +var messageList = new List +{ + "LoadShowContent", + "FullSwitch", + "ContributorsView", + "ClearLeftSelected", + "SendChatMessage" +}; #> namespace HandyControlDemo.Data { @@ -93,12 +104,9 @@ namespace HandyControlDemo.Data public static readonly string <#=item#> = nameof(<#=item#>); <#}#> - public static readonly string LoadShowContent = nameof(LoadShowContent); +<#foreach(var item in messageList){#> + public static readonly string <#=item#> = nameof(<#=item#>); - public static readonly string FullSwitch = nameof(FullSwitch); - - public static readonly string ContributorsView = nameof(ContributorsView); - - public static readonly string ClearLeftSelected = nameof(ClearLeftSelected); - } + <#}#> +} } \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/Data/Model/ChatInfoModel.cs b/Net40/HandyControlDemo_Net40/Data/Model/ChatInfoModel.cs new file mode 100644 index 00000000..92b4e3a1 --- /dev/null +++ b/Net40/HandyControlDemo_Net40/Data/Model/ChatInfoModel.cs @@ -0,0 +1,17 @@ +using HandyControl.Data; + +namespace HandyControlDemo.Data +{ + public struct ChatInfoModel + { + public object Message { get; set; } + + public string SenderId { get; set; } + + public ChatRoleType Role { get; set; } + + public ChatMessageType Type { get; set; } + + public object Enclosure { get; set; } + } +} \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/HandyControlDemo_Net40.csproj b/Net40/HandyControlDemo_Net40/HandyControlDemo_Net40.csproj index 6bda4e34..adcbe810 100644 --- a/Net40/HandyControlDemo_Net40/HandyControlDemo_Net40.csproj +++ b/Net40/HandyControlDemo_Net40/HandyControlDemo_Net40.csproj @@ -82,6 +82,7 @@ True MessageToken.tt + @@ -96,12 +97,16 @@ Lang.en.resx - - + + + Avatar.xaml + + ChatBox.xaml + AnimationPathDemoCtl.xaml @@ -111,6 +116,9 @@ CarouselDemoCtl.xaml + + ChatBubbleDemoCtl.xaml + CirclePanelDemoCtl.xaml @@ -168,6 +176,9 @@ PreviewSliderDemoCtl.xaml + + ProgressButtonDemoCtl.xaml + RateDemoCtl.xaml @@ -192,6 +203,9 @@ TimePickerDemoCtl.xaml + + TransferDemoCtl.xaml + WaterfallPanelDemoCtl.xaml @@ -297,15 +311,16 @@ TreeViewDemoCtl.xaml - - - - - - - + + + + + + + + - + AboutWindow.xaml @@ -381,6 +396,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -393,6 +412,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -469,6 +492,10 @@ Designer MSBuild:Compile + + Designer + XamlIntelliSenseFileGenerator + Designer MSBuild:Compile @@ -501,6 +528,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -683,6 +714,11 @@ TextTemplatingFileGenerator MessageToken.cs + + + + + diff --git a/Net40/HandyControlDemo_Net40/MainWindow.xaml b/Net40/HandyControlDemo_Net40/MainWindow.xaml index 8688db0c..99344426 100644 --- a/Net40/HandyControlDemo_Net40/MainWindow.xaml +++ b/Net40/HandyControlDemo_Net40/MainWindow.xaml @@ -1,23 +1,26 @@  + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl" + xmlns:userControl="clr-namespace:HandyControlDemo.UserControl" + mc:Ignorable="d" + BorderThickness="1" + BorderBrush="#262e2f" + NonClientAreaBackground="#262e2f" + OtherButtonHoverBackground="#888580" + CloseButtonForeground="White" + OtherButtonHoverForeground="White" + OtherButtonForeground="White" + Style="{StaticResource WindowBlur}" + WindowState="Maximized" + Title="MainWindow" + ResizeMode="CanResizeWithGrip" + Name="MyWindow" + DataContext="{Binding Main,Source={StaticResource Locator}}" + d:DesignHeight="800" + d:DesignWidth="1400"> diff --git a/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.Designer.cs b/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.Designer.cs index a19f2900..5c2fd6c9 100644 --- a/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.Designer.cs +++ b/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.Designer.cs @@ -177,6 +177,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 对话气泡 的本地化字符串。 + /// + public static string ChatBubble { + get { + return ResourceManager.GetString("ChatBubble", resourceCulture); + } + } + /// /// 查找类似 讨论室 的本地化字符串。 /// @@ -654,6 +663,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 点击打开自定义消息窗口 的本地化字符串。 + /// + public static string OpenCustomMessageWindow { + get { + return ResourceManager.GetString("OpenCustomMessageWindow", resourceCulture); + } + } + /// /// 查找类似 点击打开自定义非客户端区域窗口 的本地化字符串。 /// @@ -789,6 +807,24 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 进度按钮 的本地化字符串。 + /// + public static string ProgressButton { + get { + return ResourceManager.GetString("ProgressButton", resourceCulture); + } + } + + /// + /// 查找类似 按住说话 的本地化字符串。 + /// + public static string PushToTalk { + get { + return ResourceManager.GetString("PushToTalk", resourceCulture); + } + } + /// /// 查找类似 QQ群 的本地化字符串。 /// @@ -879,6 +915,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 秒 的本地化字符串。 + /// + public static string Second { + get { + return ResourceManager.GetString("Second", resourceCulture); + } + } + /// /// 查找类似 选中 的本地化字符串。 /// @@ -1077,6 +1122,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 穿梭框 的本地化字符串。 + /// + public static string Transfer { + get { + return ResourceManager.GetString("Transfer", resourceCulture); + } + } + /// /// 查找类似 树视图 的本地化字符串。 /// @@ -1104,6 +1158,15 @@ namespace HandyControlDemo.Properties.Langs { } } + /// + /// 查找类似 上传;上传中 的本地化字符串。 + /// + public static string UploadStr { + get { + return ResourceManager.GetString("UploadStr", resourceCulture); + } + } + /// /// 查找类似 警告 的本地化字符串。 /// diff --git a/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.en.resx b/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.en.resx index 3db23d8b..966dc242 100644 --- a/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.en.resx +++ b/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.en.resx @@ -474,4 +474,25 @@ MessageBox - + + ProgressButton + + + Upload;Uploading + + + open custom message window + + + Transfer + + + ChatBubble + + + Push to talk + + + Sec + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.resx b/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.resx index 37ee53dc..88e899a7 100644 --- a/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.resx +++ b/Net40/HandyControlDemo_Net40/Properties/Langs/Lang.resx @@ -474,4 +474,25 @@ 消息框 - + + 进度按钮 + + + 上传;上传中 + + + 点击打开自定义消息窗口 + + + 穿梭框 + + + 对话气泡 + + + 按住说话 + + + 秒 + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/Resources/Img/Chat/chat_back1.jpg b/Net40/HandyControlDemo_Net40/Resources/Img/Chat/chat_back1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..929b4d63ea7b3ac26dfac6918aaeaff06bf7a6f2 GIT binary patch literal 58800 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

4YBNJ1 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 literal 0 HcmV?d00001 diff --git a/Net40/HandyControlDemo_Net40/Resources/Img/Chat/chat_back2.jpg b/Net40/HandyControlDemo_Net40/Resources/Img/Chat/chat_back2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c09389541e92e29f82254b030fca89be1de4d4cc GIT binary patch literal 50448 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 literal 0 HcmV?d00001 diff --git a/Net40/HandyControlDemo_Net40/Resources/Img/LeftMainContent/Transfer_16x.png b/Net40/HandyControlDemo_Net40/Resources/Img/LeftMainContent/Transfer_16x.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c9dac17f45350ca42fc2eed4fab84f54927602 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMpkSD% zi(^Pd+}TOiTnvUBti?;_96VeZE4|TlnRjxWLt?lDOCpQ?zopr0P6xaqyPW_ literal 0 HcmV?d00001 diff --git a/Net40/HandyControlDemo_Net40/Resources/Themes/Basic/Geometries.xaml b/Net40/HandyControlDemo_Net40/Resources/Themes/Basic/Geometries.xaml index de1ea0c5..a746ad39 100644 --- a/Net40/HandyControlDemo_Net40/Resources/Themes/Basic/Geometries.xaml +++ b/Net40/HandyControlDemo_Net40/Resources/Themes/Basic/Geometries.xaml @@ -9,6 +9,8 @@ M449.722947 199.412211H706.021053c130.967579 0 237.136842 106.169263 237.136842 237.136842v256.298105c0 130.967579-106.169263 237.136842-237.136842 237.136842H449.722947c-130.965895 0-237.136842-106.169263-237.136842-237.136842V436.549053c0-130.967579 106.170947-237.136842 237.136842-237.136842z m-201.205894-21.557895c0-64.299789-70.085053-104.704-125.850948-72.55579s-55.764211 112.96 0 145.111579 125.850947-8.257684 125.850948-72.555789z m239.528421 234.74021c0-68.003368-74.088421-110.736842-133.037474-76.734315s-58.950737 119.467789 0 153.470315 133.039158-8.730947 133.039158-76.736zM835.368421 692.847158c0-117.596632-128.154947-191.494737-230.123789-132.695579s-101.970526 206.593684 0 265.391158S835.368421 810.443789 835.368421 692.847158z M430.079734 481.464543c45.196365 45.596478 118.486578 45.596478 163.68499 0l360.684736-324.939627c0.547469 3.751441 1.13894 7.490601 1.13894 11.401678l0 404.753417 0 116.754121c0 42.995233-34.547841 77.838809-77.145008 77.838809L145.397996 767.272941c-42.597167 0-77.145008-34.844599-77.145008-77.838809L68.252988 494.839155 68.252988 167.926594c0-3.911076 0.593518-7.65126 1.139963-11.401678L430.079734 481.464543zM910.960992 74.226538 562.044278 387.28558c-38.470173 38.811957-62.276369 38.811957-100.770078 0L112.538611 74.408687c10.011005-4.789073 21.069875-7.673773 32.859385-7.673773l733.044372 0C890.095779 66.735937 901.065622 69.539796 910.960992 74.226538z M260.8 645H160V0h100.8v645zM461.8 152.2h-100.8V1024h100.8V152.2z m201.2 0h-100.8V1024h100.8V152.2zM864 152h-100.8v494H864V152z + M736 224H288a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64z m-416 160a64 64 0 1 1 128.032 0.032A64 64 0 0 1 320 384z m416 320a32 32 0 0 1-32 32H384a32 32 0 0 1-32-32l96-160c26.432-2.048 68.128 6.016 128 64l128-224a32 32 0 0 1 32 32v288z + M19.692308 512A25 25 0 1 1 19.692308 531.692308ZM512 303.027832C512 286.548884 524.86564 273.174666 540.717948 273.174666L598.153846 273.174666C614.006154 273.174666 626.871794 286.548884 626.871794 303.027832L626.871794 362.734167C626.871794 379.213115 614.006154 392.587333 598.153846 392.587333L540.717948 392.587333C524.86564 392.587333 512 379.213115 512 362.734167L512 303.027832 512 303.027832ZM512 482.146834 512 541.853166C512 558.332115 499.13436 571.706335 483.282052 571.706335L425.846154 571.706335C409.993846 571.706335 397.128206 558.332115 397.128206 541.853166L397.128206 482.146834C397.128206 465.667885 409.993846 452.293665 425.846154 452.293665L483.282052 452.293665C499.13436 452.293665 512 465.667885 512 482.146834L512 482.146834ZM339.692308 303.027832C339.692308 286.548884 352.557948 273.174666 368.410256 273.174666L425.846154 273.174666C441.698462 273.174666 454.564102 286.548884 454.564102 303.027832L454.564102 362.734167C454.564102 379.213115 441.698462 392.587333 425.846154 392.587333L368.410256 392.587333C352.557948 392.587333 339.692308 379.213115 339.692308 362.734167L339.692308 303.027832 339.692308 303.027832ZM167.384615 303.027832C167.384615 286.548884 180.250256 273.174666 196.102564 273.174666L253.538462 273.174666C269.390769 273.174666 282.25641 286.548884 282.25641 303.027832L282.25641 362.734167C282.25641 379.213115 269.390769 392.587333 253.538462 392.587333L196.102564 392.587333C180.250256 392.587333 167.384615 379.213115 167.384615 362.734167L167.384615 303.027832 167.384615 303.027832ZM282.25641 720.972168C282.25641 737.451116 269.390769 750.825334 253.538462 750.825334L196.102564 750.825334C180.250256 750.825334 167.384615 737.451116 167.384615 720.972168L167.384615 661.265833C167.384615 644.786885 180.250256 631.412667 196.102564 631.412667L253.538462 631.412667C269.390769 631.412667 282.25641 644.786885 282.25641 661.265833L282.25641 720.972168 282.25641 720.972168ZM310.97436 571.706335 253.538462 571.706335C237.686154 571.706335 224.820513 558.332115 224.820513 541.853166L224.820513 482.146834C224.820513 465.667885 237.686154 452.293665 253.538462 452.293665L310.97436 452.293665C326.826667 452.293665 339.692308 465.667885 339.692308 482.146834L339.692308 541.853166C339.692308 558.332115 326.826667 571.706335 310.97436 571.706335L310.97436 571.706335ZM569.435898 720.972168C569.435898 737.451116 556.570256 750.825334 540.717948 750.825334L368.410256 750.825334C352.557948 750.825334 339.692308 737.451116 339.692308 720.972168L339.692308 661.265833C339.692308 644.786885 352.557948 631.412667 368.410256 631.412667L540.717948 631.412667C556.570256 631.412667 569.435898 644.786885 569.435898 661.265833L569.435898 720.972168 569.435898 720.972168ZM569.435898 541.853166 569.435898 482.146834C569.435898 465.667885 582.301538 452.293665 598.153846 452.293665L655.589744 452.293665C671.442052 452.293665 684.307692 465.667885 684.307692 482.146834L684.307692 541.853166C684.307692 558.332115 671.442052 571.706335 655.589744 571.706335L598.153846 571.706335C582.301538 571.706335 569.435898 558.332115 569.435898 541.853166L569.435898 541.853166ZM856.615385 720.972168C856.615385 737.451116 843.749744 750.825334 827.897437 750.825334L655.589744 750.825334C639.737437 750.825334 626.871794 737.451116 626.871794 720.972168L626.871794 661.265833C626.871794 644.786885 639.737437 631.412667 655.589744 631.412667L713.02564 631.412667C728.877948 631.412667 741.74359 618.038449 741.74359 601.559501L741.74359 482.146834C741.74359 465.667885 754.609231 452.293665 770.461538 452.293665L827.897437 452.293665C843.749744 452.293665 856.615385 465.667885 856.615385 482.146834L856.615385 720.972168 856.615385 720.972168ZM856.615385 362.734167C856.615385 379.213115 843.749744 392.587333 827.897437 392.587333L713.02564 392.587333C697.173333 392.587333 684.307692 379.213115 684.307692 362.734167L684.307692 303.027832C684.307692 286.548884 697.173333 273.174666 713.02564 273.174666L827.897437 273.174666C843.749744 273.174666 856.615385 286.548884 856.615385 303.027832L856.615385 362.734167 856.615385 362.734167Z M890.2 208.2c-91.8-91.9-242.1-91.9-334 0L544.4 220c-18.2 18.2-47.6 18.2-65.8 0l-11.8-11.8c-91.9-91.9-242.1-91.9-334 0C41 300 24.7 533.9 203.6 722.1 304 827.8 412.4 882.3 470 905.9c26.6 10.9 56.5 10.9 83 0 57.6-23.6 166-78.1 266.4-183.8 178.9-188.2 162.6-422 70.8-513.9z M512 0C229.234472 0 0 229.226146 0 512 0 794.765528 229.234472 1024 512 1024S1024 794.765528 1024 512C1024 229.226146 794.765528 0 512 0zM228.776585 836.066862c-63.163317 0-114.371642-51.208325-114.371642-114.371642S165.613268 607.323577 228.776585 607.323577s114.371642 51.208325 114.371643 114.371643c0 63.171642-51.208325 114.371642-114.371643 114.371642z m420.555968-89.612488a391.867317 391.867317 0 0 1-1.989724 16.975089c-7.259577 30.203837-33.950179 52.898341-66.376845 52.898342-38.104455 0-68.990959-34.158309-68.99096-72.204488 0-5.877593 0.81587-11.463805 2.206179-16.775284-1.756618-131.096976-103.981789-237.867707-233.205593-246.883903l-6.343805-0.740943-1.015675-0.041626c-5.453008-0.216455-10.930992-0.732618-16.142569-2.331057a67.958634 67.958634 0 0 1-47.91987-65.078114c0-37.604943 30.245463-68.091837 67.550699-68.091837 0.299707 0 0.591089 0.041626 0.890797 0.049951l0.124878-0.049951c205.707447 2.139577 371.836878 169.484488 371.836878 375.699772 0 7.717463-0.341333 15.34335-0.824195 22.94426 0.066602 1.207154 0.19148 2.397659 0.199805 3.629789z m254.085203-63.329821c-10.856065 45.172553-25.80813 104.114992-74.310764 104.114992-56.994341 0-48.236228-66.085463-48.236228-122.996553 0-8.791415 1.223805-17.149919 3.296781-25.100488-2.639089-196.108488-169.834146-387.812943-363.137041-401.291447l-35.806699-5.827642c-42.117203-7.492683-111.715902-3.255154-111.715903-49.193626 0-56.253398 50.234276-81.861724 106.038114-81.861724 0.449561 0 0.882472 0.058276 1.332033 0.066602l0.183154-0.066602c307.724488 3.180228 526.252748 208.546341 526.252748 517.028423a538.474146 538.474146 0 0 1-1.23213 34.316488c0.108228 1.806569 0.291382 3.596488 0.308033 5.428032a542.72 542.72 0 0 1-2.972098 25.383545z M827.904 541.184a278.592 278.592 0 0 0 0-58.368l73.728-58.368c15.872-13.056 20.224-35.584 9.728-53.504l-78.592-137.728c-9.984-17.408-31.232-25.856-51.712-18.176l-86.528 35.072c-15.872-11.52-32.512-21.248-49.664-29.184l-12.8-92.928c-3.072-20.224-20.736-35.584-41.216-35.584h-157.44c-20.736 0-38.144 14.848-41.216 35.84L378.88 221.44c-17.152 7.936-33.792 17.92-49.664 29.184L242.688 215.296c-18.688-7.168-41.216 0.768-51.2 18.176L112.64 371.2c-10.24 17.92-6.144 40.448 10.24 53.76l73.472 58.112c-1.024 9.472-1.536 19.2-1.536 29.184 0 9.728 0.512 19.456 1.536 29.184l-73.984 58.368c-15.872 13.056-19.968 35.584-9.728 53.248l78.848 137.728c9.984 17.408 32 25.856 51.456 17.92l86.528-35.072c15.872 11.52 32.512 21.248 49.664 29.184l13.056 93.696c3.328 20.48 20.48 35.328 41.216 35.328h157.44c20.48 0 38.144-15.36 41.216-35.84l13.056-93.184c17.152-7.936 33.792-17.664 49.664-29.184l86.784 35.328c4.864 1.792 9.984 2.816 15.104 2.816 14.848 0 28.672-7.936 36.096-20.992l78.592-137.728c10.24-17.664 6.4-40.192-9.984-53.76l-73.472-58.112z m-25.344 231.168l-99.584-40.448c-7.424-3.072-15.872-1.792-22.272 3.072-19.712 15.36-40.704 27.648-62.464 36.608-7.424 3.072-12.544 9.728-13.568 17.664l-14.592 104.96-155.392 2.304-15.104-107.264c-1.024-7.936-6.4-14.592-13.568-17.664-21.76-8.96-42.752-21.504-62.464-36.608-4.096-3.072-8.96-4.608-13.824-4.608-2.816 0-5.888 0.512-8.448 1.536l-96.256 41.472-80.896-137.216 84.48-66.816c6.144-4.864 9.472-12.8 8.448-20.48-1.536-12.032-2.56-24.32-2.56-36.608 0-12.288 1.024-24.576 2.56-36.608 1.024-7.936-2.048-15.616-8.448-20.48l-83.712-64 76.544-139.264 99.584 40.448c7.424 3.072 15.872 1.792 22.272-3.072 19.712-15.36 40.96-27.648 62.72-36.864 7.424-3.072 12.544-9.728 13.568-17.664l12.544-104.704 157.696-2.304 15.104 107.264c1.024 7.936 6.4 14.592 13.568 17.664 21.76 8.96 42.752 21.504 62.464 36.864 6.4 4.864 14.848 6.144 22.272 3.072l96.256-41.472 80.896 137.216-84.48 66.816c-6.144 4.864-9.472 12.544-8.448 20.48 1.536 12.032 2.56 24.32 2.56 36.608 0 12.288-1.024 24.576-2.56 36.608-1.024 7.936 2.304 15.616 8.448 20.48l83.712 63.744-77.056 139.264zM512 345.6c-91.136 0-165.12 74.752-165.12 166.4s73.984 166.4 165.12 166.4 165.12-74.752 165.12-166.4-73.984-166.4-165.12-166.4z m0 297.216c-71.168 0-129.28-58.624-129.28-130.816 0-72.192 58.112-130.816 129.28-130.816s129.28 58.624 129.28 130.816c0 72.192-57.856 130.816-129.28 130.816z diff --git a/Net40/HandyControlDemo_Net40/Resources/Themes/Styles/Style.xaml b/Net40/HandyControlDemo_Net40/Resources/Themes/Styles/Style.xaml index 11cd7a5e..7cbb1fad 100644 --- a/Net40/HandyControlDemo_Net40/Resources/Themes/Styles/Style.xaml +++ b/Net40/HandyControlDemo_Net40/Resources/Themes/Styles/Style.xaml @@ -1,7 +1,8 @@  + xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl" + xmlns:langs="clr-namespace:HandyControl.Properties.Langs;assembly=HandyControl"> @@ -90,4 +91,37 @@ + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/Service/DataService.cs b/Net40/HandyControlDemo_Net40/Service/DataService.cs index c3752620..94a9f81e 100644 --- a/Net40/HandyControlDemo_Net40/Service/DataService.cs +++ b/Net40/HandyControlDemo_Net40/Service/DataService.cs @@ -14,7 +14,7 @@ namespace HandyControlDemo.Service internal List GetDemoDataList() { var list = new List(); - for (var i = 1; i <= 6; i++) + for (var i = 1; i <= 20; i++) { var dataList = new List(); for (int j = 0; j < 3; j++) @@ -34,7 +34,7 @@ namespace HandyControlDemo.Service Name = $"Name{i}", Type = (DemoType)i, DataList = dataList, - ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{i}.png", + ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{i % 7}.png", Remark = new string(i.ToString()[0], 10) }; list.Add(model); diff --git a/Net40/HandyControlDemo_Net40/Tools/AssemblyHelper.cs b/Net40/HandyControlDemo_Net40/Tools/Helper/AssemblyHelper.cs similarity index 100% rename from Net40/HandyControlDemo_Net40/Tools/AssemblyHelper.cs rename to Net40/HandyControlDemo_Net40/Tools/Helper/AssemblyHelper.cs diff --git a/Net40/HandyControlDemo_Net40/Tools/CommonHelper.cs b/Net40/HandyControlDemo_Net40/Tools/Helper/CommonHelper.cs similarity index 100% rename from Net40/HandyControlDemo_Net40/Tools/CommonHelper.cs rename to Net40/HandyControlDemo_Net40/Tools/Helper/CommonHelper.cs diff --git a/Net40/HandyControlDemo_Net40/Tools/Helper/ExternDllHelper.cs b/Net40/HandyControlDemo_Net40/Tools/Helper/ExternDllHelper.cs new file mode 100644 index 00000000..a5d0e53d --- /dev/null +++ b/Net40/HandyControlDemo_Net40/Tools/Helper/ExternDllHelper.cs @@ -0,0 +1,12 @@ +using System.Runtime.InteropServices; + +namespace HandyControlDemo.Tools +{ + internal class ExternDllHelper + { + private const string Winmm = "winmm.dll"; + + [DllImport(Winmm, EntryPoint = "mciSendString", CharSet = CharSet.Auto)] + public static extern int MciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback); + } +} \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml b/Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml new file mode 100644 index 00000000..590fb7b0 --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml.cs b/Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml.cs new file mode 100644 index 00000000..7b80e71c --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Basic/ChatBox.xaml.cs @@ -0,0 +1,10 @@ +namespace HandyControlDemo.UserControl +{ + public partial class ChatBox + { + public ChatBox() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml b/Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml new file mode 100644 index 00000000..6455b40c --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs b/Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs new file mode 100644 index 00000000..b0b7efd6 --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs @@ -0,0 +1,10 @@ +namespace HandyControlDemo.UserControl +{ + public partial class ChatBubbleDemoCtl + { + public ChatBubbleDemoCtl() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml b/Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml new file mode 100644 index 00000000..4b78b122 --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml.cs b/Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml.cs new file mode 100644 index 00000000..f44f7110 --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/ProgressButtonDemoCtl.xaml.cs @@ -0,0 +1,65 @@ +using System; +using System.Windows; +using System.Windows.Threading; + +namespace HandyControlDemo.UserControl +{ + public partial class ProgressButtonDemoCtl + { + public static readonly DependencyProperty ProgressProperty = DependencyProperty.Register( + "Progress", typeof(int), typeof(ProgressButtonDemoCtl), new PropertyMetadata(default(int))); + + public int Progress + { + get => (int) GetValue(ProgressProperty); + set => SetValue(ProgressProperty, value); + } + + public static readonly DependencyProperty IsUploadingProperty = DependencyProperty.Register( + "IsUploading", typeof(bool), typeof(ProgressButtonDemoCtl), new PropertyMetadata(default(bool))); + + public bool IsUploading + { + get => (bool) GetValue(IsUploadingProperty); + set => SetValue(IsUploadingProperty, value); + } + + private readonly DispatcherTimer _timer; + + public ProgressButtonDemoCtl() + { + InitializeComponent(); + + DataContext = this; + + _timer = new DispatcherTimer + { + Interval = TimeSpan.FromMilliseconds(200) + }; + _timer.Tick += Timer_Tick; + } + + private void Timer_Tick(object sender, EventArgs e) + { + Progress++; + if (Progress == 100) + { + Progress = 0; + _timer.Stop(); + IsUploading = false; + } + } + + private void ButtonProgress_OnClick(object sender, RoutedEventArgs e) + { + if (_timer.IsEnabled) + { + _timer.Stop(); + } + else + { + _timer.Start(); + } + } + } +} diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml b/Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml new file mode 100644 index 00000000..92f96d9a --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml.cs b/Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml.cs new file mode 100644 index 00000000..cce1f608 --- /dev/null +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/TransferDemoCtl.xaml.cs @@ -0,0 +1,10 @@ +namespace HandyControlDemo.UserControl +{ + public partial class TransferDemoCtl + { + public TransferDemoCtl() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/WaterfallPanelDemoCtl.xaml b/Net40/HandyControlDemo_Net40/UserControl/Controls/WaterfallPanelDemoCtl.xaml index 9a631afa..71fb7e00 100644 --- a/Net40/HandyControlDemo_Net40/UserControl/Controls/WaterfallPanelDemoCtl.xaml +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/WaterfallPanelDemoCtl.xaml @@ -5,7 +5,7 @@ xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs" xmlns:interactivity="clr-namespace:HandyControl.Interactivity;assembly=HandyControl" Background="{DynamicResource RegionBrush}"> - + @@ -53,5 +53,5 @@ - - + + \ No newline at end of file diff --git a/Net40/HandyControlDemo_Net40/UserControl/Controls/WindowDemoCtl.xaml b/Net40/HandyControlDemo_Net40/UserControl/Controls/WindowDemoCtl.xaml index a79f0c29..52dc1d5f 100644 --- a/Net40/HandyControlDemo_Net40/UserControl/Controls/WindowDemoCtl.xaml +++ b/Net40/HandyControlDemo_Net40/UserControl/Controls/WindowDemoCtl.xaml @@ -12,6 +12,7 @@