diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 77420a4b..d9212433 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,16 +1,14 @@ -name: build - on: [push, pull_request] jobs: build: runs-on: windows-latest steps: - - name: Checkout + - name: checkout uses: actions/checkout@master - - name: Build Net_40 - run: dotnet build src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj -p:Configuration=Release-Net40 - - - name: Build Net_GE45 - run: dotnet build src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj -p:Configuration=Release + - name: build + shell: pwsh + run: | + cd build + .\build.ps1 diff --git a/.github/workflows/push-to-myget.yml b/.github/workflows/push-to-myget.yml new file mode 100644 index 00000000..1d100f37 --- /dev/null +++ b/.github/workflows/push-to-myget.yml @@ -0,0 +1,22 @@ +on: workflow_dispatch + +jobs: + push-to-myget: + runs-on: windows-latest + steps: + - name: checkout + uses: actions/checkout@master + + - name: setup nuget.exe + uses: NuGet/setup-nuget@v1.0.5 + + - name: build and push + shell: pwsh + run: | + cd build + .\build.ps1 + nuget pack build-for-myget.nuspec -version 3.2.0-beta.${env:GITHUB_RUN_NUMBER} + $nupkgName = @(gci *.nupkg)[0].Name + $mygetSourcePath = "https://www.myget.org/F/handycontrol" + nuget setApiKey ${{ secrets.MYGETTOKEN }} -Source $mygetSourcePath + nuget push $nupkgName -Source $mygetSourcePath diff --git a/.gitignore b/.gitignore index 73a63a6b..9b3fa82f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ packages/ build/* !build/build.cake !build/build.nuspec +!build/build-for-myget.nuspec !build/build.ps1 !build/tools/ build/tools/* diff --git a/Installers/VS2019/HandyControl_VS2019.sln b/Installers/VS2019/HandyControl_VS2019.sln index 2c1629ff..78ca7aa9 100644 --- a/Installers/VS2019/HandyControl_VS2019.sln +++ b/Installers/VS2019/HandyControl_VS2019.sln @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfApp", "WpfApp\WpfApp.csp EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfCoreApp", "WpfCoreApp\WpfCoreApp.csproj", "{2F6E9FB8-F579-40CF-A151-57F281F08E1B}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Project Templates", "Project Templates", "{26BC7FA1-50F7-46C7-84FE-0D8ABAC47E07}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -31,6 +33,10 @@ Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {83C70EB1-3A3F-4812-B86C-C7D1936699EB} = {26BC7FA1-50F7-46C7-84FE-0D8ABAC47E07} + {2F6E9FB8-F579-40CF-A151-57F281F08E1B} = {26BC7FA1-50F7-46C7-84FE-0D8ABAC47E07} + EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {A7F567D2-5FA3-4E17-A8A8-CDAFC217BFF5} EndGlobalSection diff --git a/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019.csproj b/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019.csproj index ba720bad..633bf020 100644 --- a/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019.csproj +++ b/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019.csproj @@ -16,7 +16,7 @@ HandyControl_VS2019 HandyControl_VS2019 v4.7.2 - true + false true true false @@ -46,7 +46,6 @@ - @@ -57,8 +56,13 @@ - - + + compile; build; native; contentfiles; analyzers; buildtransitive + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019Package.cs b/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019Package.cs deleted file mode 100644 index 10e0ebb6..00000000 --- a/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019Package.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Runtime.InteropServices; -using System.Threading; -using Microsoft.VisualStudio.Shell; -using Task = System.Threading.Tasks.Task; - -namespace HandyControl_VS2019 -{ - /// - /// This is the class that implements the package exposed by this assembly. - /// - /// - /// - /// The minimum requirement for a class to be considered a valid package for Visual Studio - /// is to implement the IVsPackage interface and register itself with the shell. - /// This package uses the helper classes defined inside the Managed Package Framework (MPF) - /// to do it: it derives from the Package class that provides the implementation of the - /// IVsPackage interface and uses the registration attributes defined in the framework to - /// register itself and its components with the shell. These attributes tell the pkgdef creation - /// utility what data to put into .pkgdef file. - /// - /// - /// To get loaded into VS, the package must be referred by <Asset Type="Microsoft.VisualStudio.VsPackage" ...> in .vsixmanifest file. - /// - /// - [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)] - [Guid(PackageGuidString)] - public sealed class HandyControl_VS2019Package : AsyncPackage - { - /// - /// HandyControl_VS2019Package GUID string. - /// - public const string PackageGuidString = "157ef242-83b5-47d0-8f2f-e21dc8308151"; - - #region Package Members - - /// - /// Initialization of the package; this method is called right after the package is sited, so this is the place - /// where you can put all the initialization code that rely on services provided by VisualStudio. - /// - /// A cancellation token to monitor for initialization cancellation, which can occur when VS is shutting down. - /// A provider for progress updates. - /// A task representing the async work of package initialization, or an already completed task if there is none. Do not return null from this method. - protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress progress) - { - // When initialized asynchronously, the current thread may be a background thread at this point. - // Do any initialization that requires the UI thread after switching to the UI thread. - await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken); - } - - #endregion - } -} diff --git a/Installers/VS2019/HandyControl_VS2019/License.txt b/Installers/VS2019/HandyControl_VS2019/License.txt index 0c1c18de..ce89800c 100644 --- a/Installers/VS2019/HandyControl_VS2019/License.txt +++ b/Installers/VS2019/HandyControl_VS2019/License.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2018-2020 HandyOrg +Copyright (c) 2018-2021 HandyOrg Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/Installers/VS2019/HandyControl_VS2019/Properties/AssemblyInfo.cs b/Installers/VS2019/HandyControl_VS2019/Properties/AssemblyInfo.cs index 94d87828..c8e705aa 100644 --- a/Installers/VS2019/HandyControl_VS2019/Properties/AssemblyInfo.cs +++ b/Installers/VS2019/HandyControl_VS2019/Properties/AssemblyInfo.cs @@ -6,9 +6,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HandyControl_VS2019")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] +[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("2.1.0")] -[assembly: AssemblyFileVersion("2.1.0")] \ No newline at end of file +[assembly: AssemblyVersion("3.1.0")] +[assembly: AssemblyFileVersion("3.1.0")] diff --git a/Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest b/Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest index 74e40f35..37afe1af 100644 --- a/Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest +++ b/Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + HandyControl for VS2019 This VSIX Project will help people initialize a HandyControl project. https://handyorg.github.io/handycontrol @@ -21,10 +21,9 @@ - + - diff --git a/Installers/VS2019/WpfApp/AssemblyInfo.cs b/Installers/VS2019/WpfApp/AssemblyInfo.cs index 9eac2dc2..a3e3ceb3 100644 --- a/Installers/VS2019/WpfApp/AssemblyInfo.cs +++ b/Installers/VS2019/WpfApp/AssemblyInfo.cs @@ -7,7 +7,7 @@ using System.Windows; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("$safeprojectname$")] -[assembly: AssemblyCopyright("Copyright © $username$ 2019")] +[assembly: AssemblyCopyright("Copyright © $username$ $year$")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] diff --git a/Installers/VS2019/WpfApp/ProjectTemplate.csproj b/Installers/VS2019/WpfApp/ProjectTemplate.csproj index d6cec36e..fda36524 100644 --- a/Installers/VS2019/WpfApp/ProjectTemplate.csproj +++ b/Installers/VS2019/WpfApp/ProjectTemplate.csproj @@ -8,9 +8,8 @@ WinExe $safeprojectname$ $safeprojectname$ - v4.7.2 + v$targetframeworkversion$ 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true @@ -34,9 +33,9 @@ 4 - - ..\packages\HandyControl.2.5.0.1\lib\net47\HandyControl.dll - + + + 4.0 @@ -68,8 +67,5 @@ Code - - - - \ No newline at end of file + diff --git a/Installers/VS2019/WpfApp/Properties/AssemblyInfo.cs b/Installers/VS2019/WpfApp/Properties/AssemblyInfo.cs index e2fda6dc..615ae4ce 100644 --- a/Installers/VS2019/WpfApp/Properties/AssemblyInfo.cs +++ b/Installers/VS2019/WpfApp/Properties/AssemblyInfo.cs @@ -6,9 +6,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HandyControl_VS2019_WpfApp")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] +[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("2.5.0")] -[assembly: AssemblyFileVersion("2.5.0")] +[assembly: AssemblyVersion("3.1.0")] +[assembly: AssemblyFileVersion("3.1.0")] diff --git a/Installers/VS2019/WpfApp/WpfApp.csproj b/Installers/VS2019/WpfApp/WpfApp.csproj index 5c42f1ff..03c2fe4e 100644 --- a/Installers/VS2019/WpfApp/WpfApp.csproj +++ b/Installers/VS2019/WpfApp/WpfApp.csproj @@ -66,7 +66,6 @@ - diff --git a/Installers/VS2019/WpfApp/WpfApp.vstemplate b/Installers/VS2019/WpfApp/WpfApp.vstemplate index 69f0d286..34f4c6fb 100644 --- a/Installers/VS2019/WpfApp/WpfApp.vstemplate +++ b/Installers/VS2019/WpfApp/WpfApp.vstemplate @@ -1,29 +1,29 @@  - - HandyControl WPF App(.NET Framework) - Creates a HandyControl WPF App(.NET Framework) - icon.ico - CSharp - 4.7 - 4.7.2 - 38e0a2df-5858-4bde-b373-7c50bc982906 - true - HandyControlProject - true - csharp - windows - desktop - HandyControl - - - - AssemblyInfo.cs - App.xaml - App.xaml.cs - MainWindow.xaml - MainWindow.xaml.cs - packages.config - - - \ No newline at end of file + + HandyControl WPF App (.NET Framework) + Creates a HandyControl WPF App (.NET Framework) + icon.ico + CSharp + 4.0 + true + HandyControlWpfApp + true + csharp + windows + desktop + HandyControl + Enabled + true + true + + + + AssemblyInfo.cs + App.xaml + App.xaml.cs + MainWindow.xaml + MainWindow.xaml.cs + + + diff --git a/Installers/VS2019/WpfApp/packages.config b/Installers/VS2019/WpfApp/packages.config deleted file mode 100644 index 9e25ff12..00000000 --- a/Installers/VS2019/WpfApp/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Installers/VS2019/WpfCoreApp/AssemblyInfo.cs b/Installers/VS2019/WpfCoreApp/AssemblyInfo.cs new file mode 100644 index 00000000..9ef4842b --- /dev/null +++ b/Installers/VS2019/WpfCoreApp/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Windows; + +[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] diff --git a/Installers/VS2019/WpfCoreApp/ProjectTemplate.csproj b/Installers/VS2019/WpfCoreApp/ProjectTemplate.csproj index 9b17e7cd..0cf79316 100644 --- a/Installers/VS2019/WpfCoreApp/ProjectTemplate.csproj +++ b/Installers/VS2019/WpfCoreApp/ProjectTemplate.csproj @@ -1,24 +1,17 @@  + WinExe - netcoreapp3.0 true - $safeprojectname$ - $safeprojectname$ - 1.0.0.0 - Debug;Release - Copyright © $username$ 2018-2020 - 1.0.0.0 - 1.0.0.0 + Copyright © $username$ $year$ + netcoreapp3.0 latest - - - TRACE;Core - - - TRACE;Core + true + true + enable - + - \ No newline at end of file + + diff --git a/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs b/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs index 6ca08ca9..9f047401 100644 --- a/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs +++ b/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs @@ -6,9 +6,9 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("HandyControl_VS2019_WpfCoreApp")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] +[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] -[assembly: AssemblyVersion("2.5.0")] -[assembly: AssemblyFileVersion("2.5.0")] +[assembly: AssemblyVersion("3.1.0")] +[assembly: AssemblyFileVersion("3.1.0")] diff --git a/Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj b/Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj index 6a55e8df..baf227fc 100644 --- a/Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj +++ b/Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj @@ -60,6 +60,7 @@ MainWindow.xaml + diff --git a/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate b/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate index 532eaeaf..9d39835d 100644 --- a/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate +++ b/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate @@ -1,27 +1,28 @@  - - HandyControl WPF App(.NET Core) - Creates a HandyControl WPF App(.NET Core) - icon.ico - CSharp - true - HandyControlProject - true - csharp - windows - desktop - HandyControl - Enabled - true - true - - - - App.xaml - App.xaml.cs - MainWindow.xaml - MainWindow.xaml.cs - - - \ No newline at end of file + + HandyControl WPF App (.NET Core) + Creates a HandyControl WPF App (.NET Core) + icon.ico + CSharp + true + HandyControlWpfCoreApp + true + csharp + windows + desktop + HandyControl + Enabled + true + true + + + + AssemblyInfo.cs + App.xaml + App.xaml.cs + MainWindow.xaml + MainWindow.xaml.cs + + + diff --git a/README-cn.md b/README-cn.md index 33ef3aa2..de6cc098 100644 --- a/README-cn.md +++ b/README-cn.md @@ -14,7 +14,10 @@ IDE-version nuget-version - + + + myget-version + Github-build-status @@ -28,6 +31,10 @@ ## 面向中国 +### 招聘 + +百度地图,招 WPF 研发工程师,坐标上海,有意私聊 836904362@qq.com + ### 码云 [https://gitee.com/handyorg/HandyControl/](https://gitee.com/handyorg/HandyControl/) @@ -163,7 +170,7 @@ Step 4: Enjoy coding ## VS插件 -| [VS2019](https://marketplace.visualstudio.com/items?itemName=HandyOrg.handycontrolforvs2019) | +| [VS2019](https://marketplace.visualstudio.com/items?itemName=HandyOrg.HandyControl) | | ------------- | ## Star趋势 @@ -562,4 +569,4 @@ Step 4: Enjoy coding ### Brush -![Brush](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Brush.png) \ No newline at end of file +![Brush](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Brush.png) diff --git a/README.md b/README.md index 56e2537c..ff0508a5 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,9 @@ nuget-version + + myget-version + Github-build-status @@ -28,6 +31,10 @@ ## 面向中国 +### 招聘 + +百度地图,招 WPF 研发工程师,坐标上海,有意私聊 836904362@qq.com + ### 码云 [https://gitee.com/handyorg/HandyControl/](https://gitee.com/handyorg/HandyControl/) @@ -163,7 +170,7 @@ Step 4: Enjoy coding ## VSIX packages for Visual Studio -| [VS2019](https://marketplace.visualstudio.com/items?itemName=HandyOrg.handycontrolforvs2019) | +| [VS2019](https://marketplace.visualstudio.com/items?itemName=HandyOrg.HandyControl) | | ------------- | ## Stargazers over time @@ -562,4 +569,4 @@ Step 4: Enjoy coding ### Brush -![Brush](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Brush.png) \ No newline at end of file +![Brush](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Brush.png) diff --git a/build/build-for-myget.nuspec b/build/build-for-myget.nuspec new file mode 100644 index 00000000..6f0627e0 --- /dev/null +++ b/build/build-for-myget.nuspec @@ -0,0 +1,206 @@ + + + + HandyControl + 3.1.0 + HandyOrg + HandyOrg + HandyOrg + true + https://raw.githubusercontent.com/HandyOrg/HandyControl/master/LICENSE + https://github.com/NaBian/HandyControl + Contains some simple and commonly used WPF controls + Copyright © HandyOrg 2018-2021 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build/build.cake b/build/build.cake index bfd31c23..34b6f839 100644 --- a/build/build.cake +++ b/build/build.cake @@ -23,6 +23,34 @@ Task("Build") OutputDirectory = "lib/net45" }; + var settingsNet451 = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = "net451", + OutputDirectory = "lib/net451" + }; + + var settingsNet452 = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = "net452", + OutputDirectory = "lib/net452" + }; + + var settingsNet46 = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = "net46", + OutputDirectory = "lib/net46" + }; + + var settingsNet461 = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = "net461", + OutputDirectory = "lib/net461" + }; + var settingsNet462 = new DotNetCoreBuildSettings { Configuration = "Release", @@ -37,6 +65,20 @@ Task("Build") OutputDirectory = "lib/net47" }; + var settingsNet471 = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = "net471", + OutputDirectory = "lib/net471" + }; + + var settingsNet472 = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = "net472", + OutputDirectory = "lib/net472" + }; + var settingsNet48 = new DotNetCoreBuildSettings { Configuration = "Release", @@ -62,13 +104,19 @@ Task("Build") { Configuration = "Release", Framework = "net5.0-windows", - OutputDirectory = "lib/net5.0-windows" + OutputDirectory = "lib/net5.0" }; DotNetCoreBuild("../src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj", settingsNet40); DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet45); + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet451); + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet452); + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet46); + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet461); DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet462); DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet47); + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet471); + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet472); DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet48); DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsCore30); DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsCore31); diff --git a/build/build.nuspec b/build/build.nuspec index 37542257..6c255e8d 100644 --- a/build/build.nuspec +++ b/build/build.nuspec @@ -2,7 +2,7 @@ HandyControl - 3.0.0 + 3.1.0 HandyOrg HandyOrg HandyOrg @@ -10,18 +10,22 @@ LICENSE icon.png https://github.com/NaBian/HandyControl - Contains some commonly used simple WPF controls + Contains some simple and commonly used WPF controls Changes are detailed at https://github.com/HandyOrg/HandyControl/releases - Copyright © HandyOrg 2018-2020 + Copyright © HandyOrg 2018-2021 WPF C# Control - - - + + + + + + + @@ -29,79 +33,172 @@ + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/build/tools/VisualStudioToolsManifest.xml b/build/tools/VisualStudioToolsManifest.xml index 09561422..217bf875 100644 --- a/build/tools/VisualStudioToolsManifest.xml +++ b/build/tools/VisualStudioToolsManifest.xml @@ -3,6 +3,7 @@ + @@ -28,6 +29,7 @@ + @@ -62,17 +64,20 @@ + + + diff --git a/src/Directory.Build.Props b/src/Directory.Build.Props index 18714da4..cb6332cc 100644 --- a/src/Directory.Build.Props +++ b/src/Directory.Build.Props @@ -1,11 +1,13 @@  true - 3.0.0.0 - 3.0.0.0 - 3.0.0.0 - 8.0 - Copyright © HandyOrg 2018-2020 + 3.2.0.0 + 3.2.0.0 + 3.2.0.0 + latest + Copyright © HandyOrg 2018-2021 HandyOrg + https://github.com/HandyOrg/HandyControl + https://handyorg.github.io/ \ No newline at end of file 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 dc9e03d7..ca67dc56 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -6,7 +6,6 @@ net40 ..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico 0108;MSB3026;MSB3061 - true @@ -585,11 +584,6 @@ move tr Langs move ca-Es Langs - Copyright © HandyOrg 2018-2021 - 3.1.0.0 - 3.1.0.0 - 3.1.0.0 - https://github.com/HandyOrg/HandyControl ..\..\Shared\HandyControlDemo_Shared\app.manifest 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 5d2db9ee..7b163473 100644 --- a/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj +++ b/src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj @@ -3,18 +3,15 @@ HandyControl HandyControl net40 - Contains some commonly used simple WPF controls + Contains some simple and commonly used WPF controls HandyControl - true snupkg 0067;0649;1591;0108;1717 - true ..\..\Shared\HandyControl_Shared\key.snk - Copyright © HandyOrg 2018-2021 - 3.1.0.0 - 3.1.0.0 - 3.1.0.0 - https://github.com/HandyOrg/HandyControl + true + WPF C# Control + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + git true diff --git a/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml b/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml index 659adf27..51e706b8 100644 --- a/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml +++ b/src/Net_40/HandyControl_Net_40/Themes/Styles/DataGrid.xaml @@ -46,12 +46,14 @@ - + - - + + + + diff --git a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml index d89909b1..590a5318 100644 --- a/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml +++ b/src/Net_40/HandyControl_Net_40/Themes/Theme.xaml @@ -1,4 +1,10 @@ - + + @@ -2397,10 +2403,13 @@ + - + + + @@ -7362,9 +7371,9 @@ - + - + @@ -8252,7 +8261,7 @@ - + @@ -8281,14 +8290,14 @@ - + - + @@ -8312,7 +8321,7 @@ - + @@ -8320,7 +8329,7 @@ - + @@ -8348,7 +8357,7 @@ - + @@ -8356,7 +8365,7 @@ - + @@ -8379,7 +8388,7 @@ - + @@ -9809,7 +9818,7 @@ - + @@ -11445,12 +11454,14 @@ - + - - + + + + 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 e4c5a8ed..6166da8a 100644 --- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj +++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj @@ -7,12 +7,6 @@ ..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico 0108;MSB3026;MSB3061 NETSDK1138 - true - Copyright © HandyOrg 2018-2021 - 3.1.0.0 - 3.1.0.0 - 3.1.0.0 - https://github.com/HandyOrg/HandyControl ..\..\Shared\HandyControlDemo_Shared\app.manifest 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 195f24e6..9926b810 100644 --- a/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj +++ b/src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj @@ -3,19 +3,16 @@ HandyControl HandyControl netcoreapp3.0;netcoreapp3.1;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net5.0-windows - Contains some commonly used simple WPF controls + Contains some simple and commonly used WPF controls HandyControl - true snupkg 0067;0649;1591;MSB3061;SYSLIB0003;SYSLIB0004 NETSDK1138 - true ..\..\Shared\HandyControl_Shared\key.snk - Copyright © HandyOrg 2018-2021 - 3.1.0.0 - 3.1.0.0 - 3.1.0.0 - https://github.com/HandyOrg/HandyControl + true + WPF C# Control + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + git true diff --git a/src/Shared/HandyControlDemo_Code/HandyControlDemo_Code.csproj b/src/Shared/HandyControlDemo_Code/HandyControlDemo_Code.csproj index 92a65e77..c116cdcd 100644 --- a/src/Shared/HandyControlDemo_Code/HandyControlDemo_Code.csproj +++ b/src/Shared/HandyControlDemo_Code/HandyControlDemo_Code.csproj @@ -6,11 +6,6 @@ netcoreapp3.0;netcoreapp3.1;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net5.0-windows MSB3026;MSB3061 NETSDK1138 - 3.1.0.0 - Copyright © HandyOrg 2018-2021 - https://github.com/HandyOrg/HandyControl - 3.1.0.0 - 3.1.0.0 diff --git a/src/Shared/HandyControl_Shared/Controls/Image/GifImage.cs b/src/Shared/HandyControl_Shared/Controls/Image/GifImage.cs index a965eb7d..dc8b5fae 100644 --- a/src/Shared/HandyControl_Shared/Controls/Image/GifImage.cs +++ b/src/Shared/HandyControl_Shared/Controls/Image/GifImage.cs @@ -21,6 +21,8 @@ namespace HandyControl.Controls { private static readonly Guid GifGuid = new Guid("{b96b3caa-0728-11d3-9d7b-0000f81ef32e}"); + private static readonly Guid GifSingleFrameGuid = new Guid("{b96b3cb0-0728-11d3-9d7b-0000f81ef32e}"); + internal IntPtr NativeImage; private byte[] _rawData; @@ -204,8 +206,12 @@ namespace HandyControl.Controls streamInfo = Application.GetContentStream(uri) ?? Application.GetResourceStream(uri); } } + if (streamInfo == null) + { throw new FileNotFoundException("Resource not found.", uri.ToString()); + } + CreateSourceFromStream(streamInfo.Stream); } catch @@ -214,20 +220,36 @@ namespace HandyControl.Controls } } + private void SwitchToCommonImage() + { + if (Source == null && Uri != null) + { + SetCurrentValue(SourceProperty, new BitmapImage(Uri)); + } + } + [ResourceExposure(ResourceScope.None)] [ResourceConsumption(ResourceScope.Machine, ResourceScope.Machine)] internal static void EnsureSave(GifImage image, string filename, Stream dataStream) { - if (!image.RawGuid.Equals(GifGuid)) return; - var animatedGif = false; + if (!image.RawGuid.Equals(GifGuid) && !image.RawGuid.Equals(GifSingleFrameGuid)) + { + image.SwitchToCommonImage(); + return; + } + var animatedGif = false; var dimensions = image.FrameDimensionsList; if (dimensions.Select(guid => new GifFrameDimension(guid)).Contains(GifFrameDimension.Time)) { animatedGif = image.GetFrameCount(GifFrameDimension.Time) > 1; } - if (!animatedGif) return; + if (!animatedGif) + { + image.SwitchToCommonImage(); + return; + } try { diff --git a/src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs b/src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs index ed8b4ab8..9b9b0baf 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/CheckComboBox/CheckComboBox.cs @@ -239,7 +239,6 @@ namespace HandyControl.Controls } _panel.Children.Clear(); - var dataContext = DataContext; foreach (var item in SelectedItems) { @@ -251,7 +250,7 @@ namespace HandyControl.Controls Tag = checkComboBoxItem }; - if (dataContext != null) + if (ItemsSource != null) { tag.SetBinding(ContentControl.ContentProperty, new Binding(DisplayMemberPath) { Source = item }); } diff --git a/src/Shared/HandyControl_Shared/Controls/Loading/LoadingCircle.cs b/src/Shared/HandyControl_Shared/Controls/Loading/LoadingCircle.cs index e6dacdac..1d644160 100644 --- a/src/Shared/HandyControl_Shared/Controls/Loading/LoadingCircle.cs +++ b/src/Shared/HandyControl_Shared/Controls/Loading/LoadingCircle.cs @@ -180,6 +180,10 @@ namespace HandyControl.Controls } Storyboard.Begin(); + if (!IsRunning) + { + Storyboard.Pause(); + } } private Border CreateBorder(int index, double dotInterval, bool needHidden) diff --git a/src/Shared/HandyControl_Shared/Controls/Loading/LoadingLine.cs b/src/Shared/HandyControl_Shared/Controls/Loading/LoadingLine.cs index 49bca631..b8976dca 100644 --- a/src/Shared/HandyControl_Shared/Controls/Loading/LoadingLine.cs +++ b/src/Shared/HandyControl_Shared/Controls/Loading/LoadingLine.cs @@ -98,6 +98,10 @@ namespace HandyControl.Controls } Storyboard.Begin(); + if (!IsRunning) + { + Storyboard.Pause(); + } } private Ellipse CreateEllipse(int index, double dotInterval, double dotDiameter) diff --git a/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs b/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs index 6f196d76..db976dfd 100644 --- a/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs +++ b/src/Shared/HandyControl_Shared/Controls/Other/NotifyIcon.cs @@ -578,37 +578,34 @@ namespace HandyControl.Controls private IntPtr Callback(IntPtr hWnd, int msg, IntPtr wparam, IntPtr lparam) { - if (IsLoaded) + if (msg == _wmTaskbarCreated) { - if (msg == _wmTaskbarCreated) + if (_messageWindowHandle == hWnd && Visibility == Visibility.Visible) { - if (_messageWindowHandle == hWnd && Visibility == Visibility.Visible) - { - UpdateIcon(true); - } + UpdateIcon(true); } - else + } + else + { + switch (lparam.ToInt64()) { - switch (lparam.ToInt64()) - { - case InteropValues.WM_LBUTTONDBLCLK: - WmMouseDown(MouseButton.Left, 2); - break; - case InteropValues.WM_LBUTTONUP: - WmMouseUp(MouseButton.Left); - break; - case InteropValues.WM_RBUTTONUP: - ShowContextMenu(); - WmMouseUp(MouseButton.Right); - break; - case InteropValues.WM_MOUSEMOVE: - if (!_dispatcherTimerPos.IsEnabled) - { - _dispatcherTimerPos.Interval = TimeSpan.FromMilliseconds(200); - _dispatcherTimerPos.Start(); - } - break; - } + case InteropValues.WM_LBUTTONDBLCLK: + WmMouseDown(MouseButton.Left, 2); + break; + case InteropValues.WM_LBUTTONUP: + WmMouseUp(MouseButton.Left); + break; + case InteropValues.WM_RBUTTONUP: + ShowContextMenu(); + WmMouseUp(MouseButton.Right); + break; + case InteropValues.WM_MOUSEMOVE: + if (!_dispatcherTimerPos.IsEnabled) + { + _dispatcherTimerPos.Interval = TimeSpan.FromMilliseconds(200); + _dispatcherTimerPos.Start(); + } + break; } } diff --git a/src/Shared/HandyControl_Shared/Controls/Other/Pagination.cs b/src/Shared/HandyControl_Shared/Controls/Other/Pagination.cs index 6bbc4dbb..5c4c6f8b 100644 --- a/src/Shared/HandyControl_Shared/Controls/Other/Pagination.cs +++ b/src/Shared/HandyControl_Shared/Controls/Other/Pagination.cs @@ -243,7 +243,7 @@ namespace HandyControl.Controls { if (d is Pagination pagination) { - pagination.OnAutoHidingChanged((bool)e.NewValue); + pagination.OnAutoHidingChanged((bool) e.NewValue); } } diff --git a/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs b/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs index 6b84450a..2574b1b5 100644 --- a/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs +++ b/src/Shared/HandyControl_Shared/Controls/Panel/RelativePanel.cs @@ -218,7 +218,12 @@ namespace HandyControl.Controls #region Calc AvailableSize _childGraph.Reset(false); - var boundingSize = _childGraph.GetBoundingSize(Width.IsNaN(), Height.IsNaN()); + + + var calcWidth = Width.IsNaN() && HorizontalAlignment != HorizontalAlignment.Stretch; + var calcHeight = Height.IsNaN() && VerticalAlignment != VerticalAlignment.Stretch; + + var boundingSize = _childGraph.GetBoundingSize(calcWidth, calcHeight); _childGraph.Reset(); _childGraph.Measure(boundingSize); return boundingSize; diff --git a/src/Shared/HandyControl_Shared/Controls/PropertyGrid/PropertyGrid.cs b/src/Shared/HandyControl_Shared/Controls/PropertyGrid/PropertyGrid.cs index 8e5c2454..3888b91c 100644 --- a/src/Shared/HandyControl_Shared/Controls/PropertyGrid/PropertyGrid.cs +++ b/src/Shared/HandyControl_Shared/Controls/PropertyGrid/PropertyGrid.cs @@ -143,7 +143,7 @@ namespace HandyControl.Controls _dataView.GroupDescriptions.Clear(); _dataView.SortDescriptions.Clear(); _dataView.SortDescriptions.Add(new SortDescription(PropertyItem.CategoryProperty.Name, ListSortDirection.Ascending)); - _dataView.SortDescriptions.Add(new SortDescription(PropertyItem.PropertyNameProperty.Name, ListSortDirection.Ascending)); + _dataView.SortDescriptions.Add(new SortDescription(PropertyItem.DisplayNameProperty.Name, ListSortDirection.Ascending)); _dataView.GroupDescriptions.Add(new PropertyGroupDescription(PropertyItem.CategoryProperty.Name)); } } diff --git a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs index a296ea52..e57821c2 100644 --- a/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs +++ b/src/Shared/HandyControl_Shared/Controls/SideMenu/SideMenu.cs @@ -99,6 +99,14 @@ namespace HandyControl.Controls } _isItemSelected = false; } + + if (!item.HasItems) + { + RaiseEvent(new FunctionEventArgs(SelectionChangedEvent, this) + { + Info = e.OriginalSource + }); + } } } } diff --git a/src/Shared/HandyControl_Shared/Controls/Slider/PreviewSlider.cs b/src/Shared/HandyControl_Shared/Controls/Slider/PreviewSlider.cs index d0e1d042..a28257eb 100644 --- a/src/Shared/HandyControl_Shared/Controls/Slider/PreviewSlider.cs +++ b/src/Shared/HandyControl_Shared/Controls/Slider/PreviewSlider.cs @@ -89,12 +89,18 @@ namespace HandyControl.Controls base.OnMouseMove(e); if (_previewContent == null) return; + var p = e.GetPosition(_adorner); + var maximum = Maximum; + var minimum = Minimum; if (Orientation == Orientation.Horizontal) { - var pos = (e.GetPosition(this).X - _thumb.ActualWidth / 2) / _track.ActualWidth * Maximum; - if (pos > Maximum || pos < 0) + + var pos = !IsDirectionReversed + ? (e.GetPosition(this).X - _thumb.ActualWidth * 0.5) / _track.ActualWidth * (maximum - minimum) + minimum + : (1 - (e.GetPosition(this).X - _thumb.ActualWidth * 0.5) / _track.ActualWidth) * (maximum - minimum) + minimum; + if (pos > maximum || pos < 0) { if (_thumb.IsMouseCaptureWithin) { @@ -103,15 +109,17 @@ namespace HandyControl.Controls return; } - _transform.X = p.X - _previewContent.ActualWidth / 2; + _transform.X = p.X - _previewContent.ActualWidth * 0.5; _transform.Y = TranslatePoint(new Point(), _adorner).Y - _previewContent.ActualHeight - PreviewContentOffset; PreviewPosition = _thumb.IsMouseCaptureWithin ? Value : pos; } else { - var pos = Maximum - (e.GetPosition(this).Y - _thumb.ActualHeight / 2) / _track.ActualHeight * Maximum; - if (pos > Maximum || pos < 0) + var pos = !IsDirectionReversed + ? (1 - (e.GetPosition(this).Y - _thumb.ActualHeight * 0.5) / _track.ActualHeight) * (maximum - minimum) + minimum + : (e.GetPosition(this).Y - _thumb.ActualHeight * 0.5) / _track.ActualHeight * (maximum - minimum) + minimum; + if (pos > maximum || pos < 0) { if (_thumb.IsMouseCaptureWithin) { @@ -121,7 +129,7 @@ namespace HandyControl.Controls } _transform.X = TranslatePoint(new Point(), _adorner).X - _previewContent.ActualWidth - PreviewContentOffset; - _transform.Y = p.Y - _previewContent.ActualHeight / 2; + _transform.Y = p.Y - _previewContent.ActualHeight * 0.5; PreviewPosition = _thumb.IsMouseCaptureWithin ? Value : pos; } diff --git a/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs b/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs index adfd8784..25af6967 100644 --- a/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs +++ b/src/Shared/HandyControl_Shared/Controls/Window/MessageBox.cs @@ -50,6 +50,8 @@ namespace HandyControl.Controls private bool _showNo; + private IntPtr _lastActiveWindowIntPtr; + public static readonly DependencyProperty MessageProperty = DependencyProperty.Register( "Message", typeof(string), typeof(MessageBox), new PropertyMetadata(default(string))); @@ -127,6 +129,16 @@ namespace HandyControl.Controls } base.OnSourceInitialized(e); + + _lastActiveWindowIntPtr = InteropMethods.GetForegroundWindow(); + Activate(); + } + + protected override void OnClosed(EventArgs e) + { + InteropMethods.SetForegroundWindow(_lastActiveWindowIntPtr); + + base.OnClosed(e); } public override void OnApplyTemplate() diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems index 190ac5a6..e7b9e052 100644 --- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems +++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems @@ -943,6 +943,7 @@ + @@ -965,6 +966,7 @@ + @@ -996,15 +998,18 @@ + + + diff --git a/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.AxleCanvas.icon.bmp b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.AxleCanvas.icon.bmp new file mode 100644 index 00000000..6174db83 Binary files /dev/null and b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.AxleCanvas.icon.bmp differ diff --git a/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.Empty.icon.bmp b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.Empty.icon.bmp new file mode 100644 index 00000000..5bb3ad51 Binary files /dev/null and b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.Empty.icon.bmp differ diff --git a/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.SimpleStackPanel.icon.bmp b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.SimpleStackPanel.icon.bmp new file mode 100644 index 00000000..499dfbba Binary files /dev/null and b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.SimpleStackPanel.icon.bmp differ diff --git a/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.TagContainer.icon.bmp b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.TagContainer.icon.bmp new file mode 100644 index 00000000..15f9c543 Binary files /dev/null and b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.TagContainer.icon.bmp differ diff --git a/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.UniformSpacingPanel.icon.bmp b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.UniformSpacingPanel.icon.bmp new file mode 100644 index 00000000..73106011 Binary files /dev/null and b/src/Shared/HandyControl_Shared/Resources/Icons/HandyControl.Controls.UniformSpacingPanel.icon.bmp differ diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml index a28564d8..8c35afe8 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml @@ -192,9 +192,9 @@ - + - + @@ -244,4 +244,4 @@ - \ No newline at end of file + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ExpanderBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ExpanderBaseStyle.xaml index 560a2d22..3ccbc575 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ExpanderBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ExpanderBaseStyle.xaml @@ -12,7 +12,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -110,7 +110,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -142,7 +142,7 @@ - + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml index dbf5caab..e5e05e1e 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ProgressBarBaseStyle.xaml @@ -52,10 +52,13 @@ + - + + + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ShieldBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ShieldBaseStyle.xaml index 6b2e7f73..2ba5fc6e 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ShieldBaseStyle.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ShieldBaseStyle.xaml @@ -27,7 +27,7 @@ - + diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml index 022bacd2..4e430919 100644 --- a/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Styles/DataGrid.xaml @@ -46,12 +46,14 @@ - + - - + + + + diff --git a/src/Shared/HandyControl_Shared/Themes/Theme.xaml b/src/Shared/HandyControl_Shared/Themes/Theme.xaml index 444ddb2a..77c53086 100644 --- a/src/Shared/HandyControl_Shared/Themes/Theme.xaml +++ b/src/Shared/HandyControl_Shared/Themes/Theme.xaml @@ -1,4 +1,10 @@ - + + @@ -2397,10 +2403,13 @@ + - + + + @@ -7480,9 +7489,9 @@ - + - + @@ -8370,7 +8379,7 @@ - + @@ -8399,14 +8408,14 @@ - + - + @@ -8430,7 +8439,7 @@ - + @@ -8438,7 +8447,7 @@ - + @@ -8466,7 +8475,7 @@ - + @@ -8474,7 +8483,7 @@ - + @@ -8497,7 +8506,7 @@ - + @@ -9927,7 +9936,7 @@ - + @@ -11578,12 +11587,14 @@ - + - - + + + + diff --git a/src/Shared/HandyControl_Shared/Themes/XamlCombine.exe b/src/Shared/HandyControl_Shared/Themes/XamlCombine.exe index 44f393d3..af458ffb 100644 Binary files a/src/Shared/HandyControl_Shared/Themes/XamlCombine.exe and b/src/Shared/HandyControl_Shared/Themes/XamlCombine.exe differ