diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 150c58a4..00000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Environment (please complete the following information):** - - .net: [e.g. 4.6.2] - - IDE [e.g. vs2017] - - Version [e.g. 1.0.0] - -**Additional context** -Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml new file mode 100644 index 00000000..f03073b1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -0,0 +1,96 @@ +name: Bug report +description: File a bug report +title: "Bug title" +labels: [] +body: + - type: textarea + validations: + required: true + attributes: + label: Describe the bug + description: Please enter a short, clear description of the bug. + - type: textarea + validations: + required: true + attributes: + label: Steps to reproduce the bug + description: Please provide any required setup and steps to reproduce the behavior. + placeholder: | + 1. Go to '...' + 2. Click on '....' + - type: textarea + attributes: + label: Expected behavior + description: Please provide a description of what you expected to happen + - type: textarea + attributes: + label: Screenshots + description: If applicable, add screenshots here to help explain your problem + - type: dropdown + attributes: + label: NuGet package version + options: + - "HandyControl 3.4.0" + - "HandyControl 3.3.0" + - "HandyControl 3.2.0" + - "HandyControl 3.1.0" + - "HandyControl 3.0.0" + - "HandyControls (Custom version) 3.4.0" + - "HandyControls (Custom version) 3.3.11" + - "HandyControls (Custom version) 3.3.10" + - "HandyControls (Custom version) 3.3.9" + - "HandyControls (Custom version) 3.3.8.1" + - "HandyControls (Custom version) 3.3.8" + - "HandyControls (Custom version) 3.3.7" + - type: dropdown + attributes: + label: IDE + description: Which Visual Studio versions did you see the issue on? + multiple: true + options: + - "Visual Studio 2022-preview" + - "Visual Studio 2022" + - "Visual Studio 2019" + - "Visual Studio 2017" + - type: dropdown + attributes: + label: Framework type + description: please specify for which framework type you have encountered the issue. + multiple: true + options: + - ".Net 6.0" + - ".Net 5.0" + - ".Net Core 3.1" + - ".Net Core 3.0" + - ".Net Framework 4.8" + - ".Net Framework 4.7.2" + - ".Net Framework 4.7.1" + - ".Net Framework 4.7.0" + - ".Net Framework 4.6.2" + - ".Net Framework 4.6.1" + - ".Net Framework 4.6.0" + - ".Net Framework 4.5.2" + - ".Net Framework 4.5.1" + - ".Net Framework 4.5.0" + - ".Net Framework 4.0.0" + - type: dropdown + attributes: + label: Windows version + description: Which Windows versions did you see the issue on? + multiple: true + options: + - "Insider Build (xxxxx)" + - "Windows 11 (22000)" + - "May 2021 Update (19043)" + - "October 2020 Update (19042)" + - "May 2020 Update (19041)" + - "November 2019 Update (18363)" + - "May 2019 Update (18362)" + - "October 2018 Update (17763)" + - "April 2018 Update (17134)" + - "Fall Creators Update (16299)" + - "Creators Update (15063)" + - type: textarea + attributes: + label: Additional context + description: Enter any other applicable info here diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 214cad85..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '[Feature request]' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml new file mode 100644 index 00000000..92c08041 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -0,0 +1,36 @@ +name: Feature request +description: Suggest an idea for the HandyControl +title: "Feature request title" +body: + - type: dropdown + validations: + required: true + attributes: + label: Feature request type + options: + - sample request + - enhancement + - type: textarea + validations: + required: true + attributes: + label: Is your feature request related to a problem? Please describe + description: Please provide a description of the sample request or enhancement + placeholder: | + A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + - type: textarea + validations: + required: true + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered + - type: textarea + attributes: + label: Additional context + description: Enter any other applicable info here + placeholder: | + Add any other context or screenshots about the feature request here. \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 77420a4b..a03995da 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,3 @@ -name: build - on: [push, pull_request] jobs: @@ -8,9 +6,15 @@ jobs: steps: - 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: Setup .NET Core SDK + uses: actions/setup-dotnet@master + with: + dotnet-version: '7.0.x' + include-prerelease: true + + - name: Build + shell: pwsh + run: | + cd build + .\build.ps1 diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml index 4ab4069f..677ac35c 100644 --- a/.github/workflows/dotnet-format.yml +++ b/.github/workflows/dotnet-format.yml @@ -13,6 +13,12 @@ jobs: uses: actions/checkout@v2 with: ref: ${{ github.head_ref }} + + - name: Setup .NET Core SDK + uses: actions/setup-dotnet@master + with: + dotnet-version: '7.0.x' + include-prerelease: true # 代码文件编码规范机器人,详细请看 [dotnet 在 GitHub 的 Action 上部署自动代码编码规范机器人](https://blog.lindexi.com/post/dotnet-%E5%9C%A8-GitHub-%E7%9A%84-Action-%E4%B8%8A%E9%83%A8%E7%BD%B2%E8%87%AA%E5%8A%A8%E4%BB%A3%E7%A0%81%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83%E6%9C%BA%E5%99%A8%E4%BA%BA.html) - name: Install dotnetCampus.EncodingNormalior @@ -48,4 +54,4 @@ jobs: assignees: NaBian reviewers: NaBian # 对应的上传分支 - branch: t/bot/fix-codeformatting \ No newline at end of file + branch: t/bot/fix-codeformatting diff --git a/.github/workflows/push-to-myget.yml b/.github/workflows/push-to-myget.yml new file mode 100644 index 00000000..4bef621e --- /dev/null +++ b/.github/workflows/push-to-myget.yml @@ -0,0 +1,28 @@ +on: workflow_dispatch + +jobs: + push-to-myget: + runs-on: windows-latest + steps: + - name: checkout + uses: actions/checkout@master + + - name: Setup .NET Core SDK + uses: actions/setup-dotnet@master + with: + dotnet-version: '7.0.x' + include-prerelease: true + + - 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.5.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..903f36f4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,9 +6,12 @@ packages/ build/* !build/build.cake -!build/build.nuspec +!build/build*.nuspec +!build/create_lang_nuspec_file.py !build/build.ps1 +!build/LICENSE +!build/icon.png !build/tools/ build/tools/* !build/tools/packages.config -!build/tools/VisualStudioToolsManifest.xml \ No newline at end of file +!build/tools/VisualStudioToolsManifest.xml 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/WpfApp/WpfApp.vstemplate b/Installers/VS2019/WpfApp/WpfApp.vstemplate deleted file mode 100644 index 69f0d286..00000000 --- a/Installers/VS2019/WpfApp/WpfApp.vstemplate +++ /dev/null @@ -1,29 +0,0 @@ - - - - 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 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/ProjectTemplate.csproj b/Installers/VS2019/WpfCoreApp/ProjectTemplate.csproj deleted file mode 100644 index 9b17e7cd..00000000 --- a/Installers/VS2019/WpfCoreApp/ProjectTemplate.csproj +++ /dev/null @@ -1,24 +0,0 @@ - - - WinExe - netcoreapp3.0 - true - $safeprojectname$ - $safeprojectname$ - 1.0.0.0 - Debug;Release - Copyright © $username$ 2018-2020 - 1.0.0.0 - 1.0.0.0 - latest - - - TRACE;Core - - - TRACE;Core - - - - - \ No newline at end of file diff --git a/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs b/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs deleted file mode 100644 index 6ca08ca9..00000000 --- a/Installers/VS2019/WpfCoreApp/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("HandyControl_VS2019_WpfCoreApp")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("HandyControl_VS2019_WpfCoreApp")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: ComVisible(false)] -[assembly: AssemblyVersion("2.5.0")] -[assembly: AssemblyFileVersion("2.5.0")] diff --git a/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate b/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate deleted file mode 100644 index 532eaeaf..00000000 --- a/Installers/VS2019/WpfCoreApp/WpfCoreApp.vstemplate +++ /dev/null @@ -1,27 +0,0 @@ - - - - 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 diff --git a/LICENSE b/LICENSE index 3d3d568c..0f3d16f7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2018-2020 HandyOrg +Copyright (c) 2018-2023 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 diff --git a/README-cn.md b/README-cn.md index 599dca92..ed14e220 100644 --- a/README-cn.md +++ b/README-cn.md @@ -1,19 +1,48 @@ -[中文](https://gitee.com/handyorg/HandyControl/blob/master/README-cn.md) - [English](https://github.com/HandyOrg/HandyControl/blob/master/README.md) +## 友情链接 -![logo](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/icon.png) +[SimpleFactoryGenerator](https://github.com/DingpingZhang/SimpleFactoryGenerator) - A simple factory source generator that enables the pattern to not violate the open-close principle. -![dotnet-version](https://img.shields.io/badge/.net-%3E%3D4.0-blue.svg) ![csharp-version](https://img.shields.io/badge/C%23-8.0-blue.svg) ![IDE-version](https://img.shields.io/badge/IDE-vs2019-blue.svg) [![nuget-version](https://img.shields.io/nuget/v/HandyControl.svg)](https://www.nuget.org/packages/HandyControl) ![Github-build-status](https://github.com/HandyOrg/HandyControl/workflows/build/badge.svg) [![Join the chat at https://gitter.im/HandyControl/Lobby](https://badges.gitter.im/HandyControl/Lobby.svg)](https://gitter.im/HandyControl/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![wiki](https://img.shields.io/badge/wiki-Complete-brightgreen.svg)](https://github.com/ghost1372/HandyControl/wiki) [![Nuget](https://img.shields.io/nuget/dt/handycontrol)](https://www.nuget.org/packages/HandyControl) +[WpfExtensions](https://github.com/DingpingZhang/WpfExtensions) - Some syntactic sugar for Wpf development. -# Welcome to HandyControl +

+ +

+ +

+ 中文 + ❤ + English +

+ +

+ dotnet-version + csharp-version + IDE-version + + nuget-version + + + myget-version + + + Github-build-status + + + Nuget + +

+ +## 特别声明 + +HandyControl 项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组织。
+ +![dotnetchina](https://images.gitee.com/uploads/images/2021/0324/120117_2da9922c_416720.png "132645_21007ea0_974299.png") ## 面向中国 -### 加入讨论 +### 技术交流 -| | 西江月群 | 定风波群 | 广寒秋群 | -|-|:-:|:-:|:-:| -| 群号码 | [![qq-group](https://img.shields.io/badge/qq-714704041-red.svg)](//shang.qq.com/wpa/qunwpa?idkey=a571e5553c9d41e49c4f22f3a8b2865451497a795ff281fedf3285def247efc1) | [![qq-group](https://img.shields.io/badge/qq-858784803-red.svg)](//shang.qq.com/wpa/qunwpa?idkey=5c18622a0f6ee07a6f33afa8cdb85b1f72ea50e878271dfcec919c76b55afee7) | 微信群 | -| 二维码 | ![qq-group](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/qq_group_1.png) | ![qq-group](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/qq_group_2.png) | ![wechat-group](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/wechat_group.png) | +[https://join.slack.com/t/handycontrol/shared_invite/zt-sw29prqd-okFmRlmETdtWhnF7C3foxA](https://join.slack.com/t/handycontrol/shared_invite/zt-sw29prqd-okFmRlmETdtWhnF7C3foxA) ### 码云 @@ -24,80 +53,114 @@ [https://handyorg.github.io/handycontrol/](https://handyorg.github.io/handycontrol/) ### 赞助 -如果您觉得HandyControl还不错,并且刚好有些闲钱,那么可以选择以下两种方式来赞助(记得入群联系我们呀~~): -* [以HandyControl的名义为慈善事业做贡献](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3) +* [以HandyControl的名义为慈善事业做贡献(请联系我们上赞助墙)](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3) -* 为我们购买防脱洗发水 +* 为我们购买防脱洗发水 (支付宝扫码) ![qrcode](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/qrcode.png) -## Contributors +## 贡献者 -ghost1372 -DingpingZhang -M0n7y5 -guanguanchuangyu -yanchao891012 -noctwolf -xianyun666 -afunc233 -DinoChan -MrZhangYuan -JinhuaChen-OMEC -seedtyx -KleinPan -yxhq -AiHaibara -walterlv -Luoyingliang -lindexi -danwalmsley -varKeytrap -xsnakes -mmasdivins -GF-Huang -cuiliang -lwqwag +ghost1372 +DingpingZhang +M0n7y5 +guanguanchuangyu +yanchao891012 +noctwolf +xianyun666 +afunc233 +DinoChan +MrZhangYuan +JinhuaChen-OMEC +seedtyx +KleinPan +yxhq +AiHaibara +walterlv +Luoyingliang +lindexi +danwalmsley +varKeytrap +xsnakes +mmasdivins +GF-Huang +cuiliang +lwqwag +Epacik +ChoKaPeek +shaosu +imba-tjd +jhm-ciberman +musashi-miyamoto -## Backers +## 赞助者 -bigorange1900 -14632791 -IUpdatable -maplewei -sunshang-hl -yangkang326 -zmrbak -AFei19911012 -wayne2006 -towerDLH -BluceBosen -MrZhangYuan -YC946586 -wihalo -startewho -5653325 -LostAsk -sanshiliuxiao -QJJMSK -dspcjy -yaronzz -cuiliang +bigorange1900 +14632791 +IUpdatable +maplewei +sunshang-hl +yangkang326 +zmrbak +AFei19911012 +wayne2006 +towerDLH +BluceBosen +MrZhangYuan +YC946586 +wihalo +startewho +5653325 +LostAsk +sanshiliuxiao +QJJMSK +dspcjy +yaronzz +cuiliang +GenmTim +ms1094392787 +ZJHome +JeremyWu917 +cagedh1 +Yangf85 +hellozy320 +inows +oo-simbo +775253959 +IanXxu +NightwishMeng +tonghudan +Removable +nicecodeclub +Jajison +xyghy13 +icarousfff +qiang9420d +zhongwcool +HenJigg +MysticABC -## Special thanks to +## 鸣谢 [![Visual Studio Community 2019](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/vs2019_logo.png)](https://visualstudio.microsoft.com/free-developer-offers/) [![JetBrains](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/resharper_logo.png)](https://www.jetbrains.com/?from=HandyControl) [![Cake](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/cake_logo.png)](https://cakebuild.net/) -[![Gitter](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/gitter_logo.png)](https://gitter.im/) -## Usage +## 使用HandyControl的项目 -Step 1: Add a reference to HandyControl or search for HandyControl on the nuget; +quicker +phpenv +AutumnBox + +如果你的项目没有被列出,请告知我们! 😀 + +## 用法 + +Step 1: 添加 HandyControl 引用,或在 nuget 上搜索 HandyControl; ```Install-Package HandyControl``` -Step 2: Add code in App.xaml as follows: +Step 2: 在 App.xaml 中添加如下代码: ```XML @@ -109,27 +172,39 @@ Step 2: Add code in App.xaml as follows: ``` -Step 3: Add NameSpace: +Step 3: 添加命名空间: `xmlns:hc="https://handyorg.github.io/handycontrol"` -Step 4: Enjoy coding +Step 4: 开始编码 -## VSIX packages for Visual Studio +## VS插件 -| [VS2019](https://marketplace.visualstudio.com/items?itemName=HandyOrg.handycontrolforvs2019) | +| [VS2019](https://marketplace.visualstudio.com/items?itemName=HandyOrg.HandyControl) | | ------------- | -## Stargazers over time +## Star趋势 [![Stargazers over time](https://starchart.cc/HandyOrg/HandyControl.svg)](https://starchart.cc/HandyOrg/HandyControl) -## Overview +## 概览 ![Overview](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Overview.png) ![Overview-dark](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Overview-dark.png) -## Latest examples +## 最新示例 + +### Watermark + +![Watermark](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Watermark.png) + +### AutoCompleteTextBox + +![AutoCompleteTextBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/AutoCompleteTextBox.gif) + +### ElementGroup + +![ElementGroup](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ElementGroup.png) ### UniformSpacingPanel @@ -139,6 +214,8 @@ Step 4: Enjoy coding ![FlexPanel](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/FlexPanel.gif) +## 历史发布 + ### CheckComboBox ![CheckComboBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/CheckComboBox.png) @@ -151,8 +228,6 @@ Step 4: Enjoy coding ![PropertyGrid](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/PropertyGrid.png) -## History publication - ### Screenshot ![Screenshot](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Screenshot.png) @@ -199,7 +274,7 @@ Step 4: Enjoy coding ### SplitButton -![SplitButton](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/SplitButton.png) +![SplitButton](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/SplitButton.gif) ### FloatingBlock @@ -215,7 +290,7 @@ Step 4: Enjoy coding ### ImageBlock -![ImageBlock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ImageBlock.gif) +![ImageBlock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ImageBlock.gif) ![ImageBlock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ImageBlock.png) @@ -253,7 +328,7 @@ Step 4: Enjoy coding ### Badge -![Badge](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Badge.png) +![Badge](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Badge.gif) ### Gravatar @@ -273,11 +348,11 @@ Step 4: Enjoy coding ### Transfer -![Transfer](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Transfer.png) +![Transfer](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Transfer.gif) ### ProgressButton -![ProgressButton](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ProgressButton.png) +![ProgressButton](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ProgressButton.gif) ### CoverFlow @@ -297,11 +372,11 @@ Step 4: Enjoy coding ### Rate -![Rate](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Rate.png) +![Rate](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Rate.gif) ### BlurWindow -![BlurWindow](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/BlurWindow.png) +![BlurWindow](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/BlurWindow.gif) ### FlipClock @@ -333,7 +408,7 @@ Step 4: Enjoy coding ### CircleProgressBar -![CircleProgressBar](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/CircleProgressBar.png) +![CircleProgressBar](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/CircleProgressBar.gif) ### ButtonStyle @@ -435,7 +510,7 @@ Step 4: Enjoy coding ### StepBar -![StepBar](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/StepBar.png) +![StepBar](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/StepBar.gif) ### GifImage @@ -447,11 +522,11 @@ Step 4: Enjoy coding ### Calendar -![Calendar](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Calendar.jpg) +![Calendar](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Calendar.gif) ### Clock -![Clock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Clock.jpg) +![Clock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Clock.png) ### CalendarWithClock @@ -459,7 +534,7 @@ Step 4: Enjoy coding ### TextBlock -![TextBlock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/TextBlock.jpg) +![TextBlock](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/TextBlock.png) ### RichTextBoxStyle @@ -467,11 +542,11 @@ Step 4: Enjoy coding ### TextBox -![TextBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/TextBox.jpg) +![TextBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/TextBox.png) ### ComboBox -![ComboBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ComboBox.jpg) +![ComboBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ComboBox.png) ### NumericUpDown @@ -483,27 +558,27 @@ Step 4: Enjoy coding ### PasswordBox -![PasswordBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/PasswordBox.jpg) +![PasswordBox](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/PasswordBox.png) -### DataPicker +### DatePicker -![DataPicker](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/DataPicker.jpg) +![DatePicker](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/DatePicker.png) ### TimePicker -![TimePicker](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/TimePicker.jpg) +![TimePicker](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/TimePicker.gif) ### DateTimePicker -![DateTimePicker](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/DateTimePicker.png) +![DateTimePicker](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/DateTimePicker.gif) ### ScrollViewer -![ScrollViewer](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ScrollViewer.png) +![ScrollViewer](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/ScrollViewer.gif) ### CirclePanel -![CirclePanel](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/CirclePanel.jpg) +![CirclePanel](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/CirclePanel.png) ### TransitioningContentControl @@ -516,7 +591,3 @@ Step 4: Enjoy coding ### Brush ![Brush](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/Brush.png) - -## Switching configuration - -![Switching configuration](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/SwitchConfig.png) diff --git a/README.md b/README.md index bd8f22dd..1664e911 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,42 @@ -[中文](https://github.com/HandyOrg/HandyControl/blob/master/README-cn.md) - [English](https://github.com/HandyOrg/HandyControl/blob/master/README.md) +## Blogroll -![logo](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/icon.png) +[SimpleFactoryGenerator](https://github.com/DingpingZhang/SimpleFactoryGenerator) - A simple factory source generator that enables the pattern to not violate the open-close principle. -![dotnet-version](https://img.shields.io/badge/.net-%3E%3D4.0-blue.svg) ![csharp-version](https://img.shields.io/badge/C%23-8.0-blue.svg) ![IDE-version](https://img.shields.io/badge/IDE-vs2019-blue.svg) [![nuget-version](https://img.shields.io/nuget/v/HandyControl.svg)](https://www.nuget.org/packages/HandyControl) ![Github-build-status](https://github.com/HandyOrg/HandyControl/workflows/build/badge.svg) [![Join the chat at https://gitter.im/HandyControl/Lobby](https://badges.gitter.im/HandyControl/Lobby.svg)](https://gitter.im/HandyControl/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![wiki](https://img.shields.io/badge/wiki-Complete-brightgreen.svg)](https://github.com/ghost1372/HandyControl/wiki) [![Nuget](https://img.shields.io/nuget/dt/handycontrol)](https://www.nuget.org/packages/HandyControl) +[WpfExtensions](https://github.com/DingpingZhang/WpfExtensions) - Some syntactic sugar for Wpf development. -# Welcome to HandyControl +

+ +

+ +

+ 中文 + ❤ + English +

+ +

+ dotnet-version + csharp-version + IDE-version + + nuget-version + + + myget-version + + + Github-build-status + + + Nuget + +

## 面向中国 -### 加入讨论 +### 技术交流 -| | 西江月群 | 定风波群 | 广寒秋群 | -|-|:-:|:-:|:-:| -| 群号码 | [![qq-group](https://img.shields.io/badge/qq-714704041-red.svg)](//shang.qq.com/wpa/qunwpa?idkey=a571e5553c9d41e49c4f22f3a8b2865451497a795ff281fedf3285def247efc1) | [![qq-group](https://img.shields.io/badge/qq-858784803-red.svg)](//shang.qq.com/wpa/qunwpa?idkey=5c18622a0f6ee07a6f33afa8cdb85b1f72ea50e878271dfcec919c76b55afee7) | 微信群 | -| 二维码 | ![qq-group](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/qq_group_1.png) | ![qq-group](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/qq_group_2.png) | ![wechat-group](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/wechat_group.png) | +[https://join.slack.com/t/handycontrol/shared_invite/zt-sw29prqd-okFmRlmETdtWhnF7C3foxA](https://join.slack.com/t/handycontrol/shared_invite/zt-sw29prqd-okFmRlmETdtWhnF7C3foxA) ### 码云 @@ -24,76 +47,110 @@ [https://handyorg.github.io/handycontrol/](https://handyorg.github.io/handycontrol/) ### 赞助 -如果您觉得HandyControl还不错,并且刚好有些闲钱,那么可以选择以下两种方式来赞助(记得入群联系我们呀~~): -* [以HandyControl的名义为慈善事业做贡献](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3) +* [以HandyControl的名义为慈善事业做贡献(请联系我们上赞助墙)](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3) -* 为我们购买防脱洗发水 -![qrcode](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/qrcode.png) +* 为我们购买防脱洗发水 (支付宝扫码) +![qrcode](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/qrcode.png) ## Contributors -ghost1372 -DingpingZhang -M0n7y5 -guanguanchuangyu -yanchao891012 -noctwolf -xianyun666 -afunc233 -DinoChan -MrZhangYuan -JinhuaChen-OMEC -seedtyx -KleinPan -yxhq -AiHaibara -walterlv -Luoyingliang -lindexi -danwalmsley -varKeytrap -xsnakes -mmasdivins -GF-Huang -cuiliang -lwqwag +ghost1372 +DingpingZhang +M0n7y5 +guanguanchuangyu +yanchao891012 +noctwolf +xianyun666 +afunc233 +DinoChan +MrZhangYuan +JinhuaChen-OMEC +seedtyx +KleinPan +yxhq +AiHaibara +walterlv +Luoyingliang +lindexi +danwalmsley +varKeytrap +xsnakes +mmasdivins +GF-Huang +cuiliang +lwqwag +Epacik +ChoKaPeek +shaosu +imba-tjd +jhm-ciberman +musashi-miyamoto ## Backers -bigorange1900 -14632791 -IUpdatable -maplewei -sunshang-hl -yangkang326 -zmrbak -AFei19911012 -wayne2006 -towerDLH -BluceBosen -MrZhangYuan -YC946586 -wihalo -startewho -5653325 -LostAsk -sanshiliuxiao -QJJMSK -dspcjy -yaronzz -cuiliang +bigorange1900 +14632791 +IUpdatable +maplewei +sunshang-hl +yangkang326 +zmrbak +AFei19911012 +wayne2006 +towerDLH +BluceBosen +MrZhangYuan +YC946586 +wihalo +startewho +5653325 +LostAsk +sanshiliuxiao +QJJMSK +dspcjy +yaronzz +cuiliang +GenmTim +ms1094392787 +ZJHome +JeremyWu917 +cagedh1 +Yangf85 +hellozy320 +inows +oo-simbo +775253959 +IanXxu +NightwishMeng +tonghudan +Removable +nicecodeclub +Jajison +xyghy13 +icarousfff +qiang9420d +zhongwcool +HenJigg +MysticABC ## Special thanks to -[![Visual Studio Community 2019](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/vs2019_logo.png)](https://visualstudio.microsoft.com/free-developer-offers/) -[![JetBrains](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/resharper_logo.png)](https://www.jetbrains.com/?from=HandyControl) -[![Cake](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/cake_logo.png)](https://cakebuild.net/) -[![Gitter](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/gitter_logo.png)](https://gitter.im/) +[![Visual Studio Community 2019](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/vs2019_logo.png)](https://visualstudio.microsoft.com/free-developer-offers/) +[![JetBrains](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/resharper_logo.png)](https://www.jetbrains.com/?from=HandyControl) +[![Cake](https://gitee.com/handyorg/HandyOrgResource/raw/master/HandyControl/Resources/cake_logo.png)](https://cakebuild.net/) + +## Projects using HandyControl + +quicker +phpenv +AutumnBox + +if your project is not listed here, let us know! 😀 ## Usage -Step 1: Add a reference to HandyControl or search for HandyControl on the nuget; +Step 1: Add a reference to HandyControl or search for HandyControl on the nuget; ```Install-Package HandyControl``` @@ -116,7 +173,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 @@ -131,6 +188,18 @@ Step 4: Enjoy coding ## Latest examples +### Watermark + +![Watermark](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Watermark.png) + +### AutoCompleteTextBox + +![AutoCompleteTextBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/AutoCompleteTextBox.gif) + +### ElementGroup + +![ElementGroup](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ElementGroup.png) + ### UniformSpacingPanel ![UniformSpacingPanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/UniformSpacingPanel.png) @@ -139,6 +208,8 @@ Step 4: Enjoy coding ![FlexPanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/FlexPanel.gif) +## History publication + ### CheckComboBox ![CheckComboBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CheckComboBox.png) @@ -151,8 +222,6 @@ Step 4: Enjoy coding ![PropertyGrid](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/PropertyGrid.png) -## History publication - ### Screenshot ![Screenshot](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Screenshot.png) @@ -199,7 +268,7 @@ Step 4: Enjoy coding ### SplitButton -![SplitButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/SplitButton.png) +![SplitButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/SplitButton.gif) ### FloatingBlock @@ -215,7 +284,7 @@ Step 4: Enjoy coding ### ImageBlock -![ImageBlock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ImageBlock.gif) +![ImageBlock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ImageBlock.gif) ![ImageBlock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ImageBlock.png) @@ -253,7 +322,7 @@ Step 4: Enjoy coding ### Badge -![Badge](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Badge.png) +![Badge](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Badge.gif) ### Gravatar @@ -273,11 +342,11 @@ Step 4: Enjoy coding ### Transfer -![Transfer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Transfer.png) +![Transfer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Transfer.gif) ### ProgressButton -![ProgressButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ProgressButton.png) +![ProgressButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ProgressButton.gif) ### CoverFlow @@ -297,11 +366,11 @@ Step 4: Enjoy coding ### Rate -![Rate](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Rate.png) +![Rate](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Rate.gif) ### BlurWindow -![BlurWindow](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/BlurWindow.png) +![BlurWindow](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/BlurWindow.gif) ### FlipClock @@ -333,7 +402,7 @@ Step 4: Enjoy coding ### CircleProgressBar -![CircleProgressBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CircleProgressBar.png) +![CircleProgressBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CircleProgressBar.gif) ### ButtonStyle @@ -435,7 +504,7 @@ Step 4: Enjoy coding ### StepBar -![StepBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/StepBar.png) +![StepBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/StepBar.gif) ### GifImage @@ -447,11 +516,11 @@ Step 4: Enjoy coding ### Calendar -![Calendar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Calendar.jpg) +![Calendar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Calendar.gif) ### Clock -![Clock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Clock.jpg) +![Clock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Clock.png) ### CalendarWithClock @@ -459,7 +528,7 @@ Step 4: Enjoy coding ### TextBlock -![TextBlock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBlock.jpg) +![TextBlock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBlock.png) ### RichTextBoxStyle @@ -467,11 +536,11 @@ Step 4: Enjoy coding ### TextBox -![TextBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBox.jpg) +![TextBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBox.png) ### ComboBox -![ComboBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ComboBox.jpg) +![ComboBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ComboBox.png) ### NumericUpDown @@ -483,27 +552,27 @@ Step 4: Enjoy coding ### PasswordBox -![PasswordBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/PasswordBox.jpg) +![PasswordBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/PasswordBox.png) -### DataPicker +### DatePicker -![DataPicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/DataPicker.jpg) +![DatePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/DatePicker.png) ### TimePicker -![TimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TimePicker.jpg) +![TimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TimePicker.gif) ### DateTimePicker -![DateTimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/DateTimePicker.png) +![DateTimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/DateTimePicker.gif) ### ScrollViewer -![ScrollViewer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ScrollViewer.png) +![ScrollViewer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ScrollViewer.gif) ### CirclePanel -![CirclePanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CirclePanel.jpg) +![CirclePanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CirclePanel.png) ### TransitioningContentControl @@ -516,7 +585,3 @@ Step 4: Enjoy coding ### Brush ![Brush](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Brush.png) - -## Switching configuration - -![Switching configuration](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/SwitchConfig.png) diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..be912cf1 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,13 @@ +# Security Policy + +## Supported Versions + +At the moment, the only supported version of the **HandyControl** is the newest one. You can find it on *NuGet*. +[https://www.nuget.org/packages/HandyControl/](https://www.nuget.org/packages/HandyControl) + +## Reporting a Vulnerability + +Security issues and bugs should be reported privately, by emailing support (at) [HandyOrg](https://github.com/HandyOrg) +HandyOrg does not offer Bug Bounty for the **HandyControl** library. + +Please do not open issues for anything you think might have a security implication. diff --git a/build/LICENSE b/build/LICENSE new file mode 100644 index 00000000..0f3d16f7 --- /dev/null +++ b/build/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018-2023 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 +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +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. diff --git a/build/build-for-myget.nuspec b/build/build-for-myget.nuspec new file mode 100644 index 00000000..4315c61e --- /dev/null +++ b/build/build-for-myget.nuspec @@ -0,0 +1,264 @@ + + + + HandyControl + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/NaBian/HandyControl + Contains some simple and commonly used WPF controls + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.ca-ES.nuspec b/build/build.Lang.ca-ES.nuspec new file mode 100644 index 00000000..f7e395f2 --- /dev/null +++ b/build/build.Lang.ca-ES.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.ca-ES + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.cs.nuspec b/build/build.Lang.cs.nuspec new file mode 100644 index 00000000..376d2e3d --- /dev/null +++ b/build/build.Lang.cs.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.cs + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.en.nuspec b/build/build.Lang.en.nuspec new file mode 100644 index 00000000..f9f3c221 --- /dev/null +++ b/build/build.Lang.en.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.en + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.es.nuspec b/build/build.Lang.es.nuspec new file mode 100644 index 00000000..ba7ee7f7 --- /dev/null +++ b/build/build.Lang.es.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.es + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.fa.nuspec b/build/build.Lang.fa.nuspec new file mode 100644 index 00000000..d83818c9 --- /dev/null +++ b/build/build.Lang.fa.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.fa + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.fr.nuspec b/build/build.Lang.fr.nuspec new file mode 100644 index 00000000..a5f59c0c --- /dev/null +++ b/build/build.Lang.fr.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.fr + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.ja.nuspec b/build/build.Lang.ja.nuspec new file mode 100644 index 00000000..c269e81b --- /dev/null +++ b/build/build.Lang.ja.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.ja + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.ko-KR.nuspec b/build/build.Lang.ko-KR.nuspec new file mode 100644 index 00000000..e2010d8e --- /dev/null +++ b/build/build.Lang.ko-KR.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.ko-KR + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.pl.nuspec b/build/build.Lang.pl.nuspec new file mode 100644 index 00000000..6066bcee --- /dev/null +++ b/build/build.Lang.pl.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.pl + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.pt-BR.nuspec b/build/build.Lang.pt-BR.nuspec new file mode 100644 index 00000000..2cb0c441 --- /dev/null +++ b/build/build.Lang.pt-BR.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.pt-BR + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.ru.nuspec b/build/build.Lang.ru.nuspec new file mode 100644 index 00000000..d234ed62 --- /dev/null +++ b/build/build.Lang.ru.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.ru + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.template.nuspec b/build/build.Lang.template.nuspec new file mode 100644 index 00000000..15777b68 --- /dev/null +++ b/build/build.Lang.template.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.{lang} + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.Lang.tr.nuspec b/build/build.Lang.tr.nuspec new file mode 100644 index 00000000..3c4847b7 --- /dev/null +++ b/build/build.Lang.tr.nuspec @@ -0,0 +1,59 @@ + + + + HandyControl.Lang.tr + 3.5.0 + HandyOrg + HandyOrg + HandyOrg + true + LICENSE + icon.png + https://github.com/HandyOrg/HandyControl + Contains some simple and commonly used WPF controls + Changes are detailed at https://github.com/HandyOrg/HandyControl/releases + Copyright © HandyOrg 2018-2023 + WPF C# Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build.cake b/build/build.cake index bfd31c23..c9c534c3 100644 --- a/build/build.cake +++ b/build/build.cake @@ -16,63 +16,39 @@ Task("Build") OutputDirectory = "lib/net40" }; - var settingsNet45 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "net45", - OutputDirectory = "lib/net45" - }; - - var settingsNet462 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "net462", - OutputDirectory = "lib/net462" - }; - - var settingsNet47 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "net47", - OutputDirectory = "lib/net47" - }; - - var settingsNet48 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "net48", - OutputDirectory = "lib/net48" - }; - - var settingsCore30 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "netcoreapp3.0", - OutputDirectory = "lib/netcoreapp3.0" - }; - - var settingsCore31 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "netcoreapp3.1", - OutputDirectory = "lib/netcoreapp3.1" - }; - - var settingsNet50 = new DotNetCoreBuildSettings - { - Configuration = "Release", - Framework = "net5.0-windows", - OutputDirectory = "lib/net5.0-windows" - }; - 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", settingsNet462); - DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet47); - 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); - DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet50); + + var frameworkList = new List + { + "net45", + "net451", + "net452", + "net46", + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481", + "netcoreapp3.0", + "netcoreapp3.1", + "net5.0-windows", + "net6.0-windows", + "net7.0-windows" + }; + + foreach (var framework in frameworkList) + { + var settings = new DotNetCoreBuildSettings + { + Configuration = "Release", + Framework = framework, + OutputDirectory = $"lib/{framework.Split('-')[0]}" + }; + + DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settings); + } }); -RunTarget(target); \ No newline at end of file +RunTarget(target); diff --git a/build/build.nuspec b/build/build.nuspec index 37542257..bfc9e9d9 100644 --- a/build/build.nuspec +++ b/build/build.nuspec @@ -2,108 +2,92 @@ HandyControl - 3.0.0 + 3.5.0 HandyOrg HandyOrg HandyOrg true LICENSE icon.png - https://github.com/NaBian/HandyControl - Contains some commonly used simple WPF controls + https://github.com/HandyOrg/HandyControl + 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-2023 WPF C# Control - + - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - @@ -112,4 +96,4 @@ - \ No newline at end of file + diff --git a/build/create_lang_nuspec_file.py b/build/create_lang_nuspec_file.py new file mode 100644 index 00000000..d8c50ea0 --- /dev/null +++ b/build/create_lang_nuspec_file.py @@ -0,0 +1,15 @@ +from pathlib import Path + + +def main(): + with open('build.Lang.template.nuspec', 'r', encoding='utf-8') as template_file: + template_content = template_file.read() + + resx_file_folder = Path('../src/Shared/HandyControl_Shared/Properties/Langs') + for lang in [path.stem.lstrip('Lang.') for path in resx_file_folder.glob('Lang.*.resx')]: + with open(f'build.Lang.{lang}.nuspec', 'w', encoding='utf-8') as nuspec_file: + nuspec_file.write(template_content.format(lang=lang)) + + +if __name__ == '__main__': + main() diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 00000000..f432bcaf Binary files /dev/null and b/build/icon.png differ 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/doc/source/handycontrol/extend_controls/blurWindow/index.md b/doc/source/handycontrol/extend_controls/blurWindow/index.md index 8f0cda90..341cf2fc 100644 --- a/doc/source/handycontrol/extend_controls/blurWindow/index.md +++ b/doc/source/handycontrol/extend_controls/blurWindow/index.md @@ -41,4 +41,4 @@ public class BlurWindow : Window ``` -![BlurWindow](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/BlurWindow.png) \ No newline at end of file +![BlurWindow](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/BlurWindow.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/circlePanel/index.md b/doc/source/handycontrol/extend_controls/circlePanel/index.md index 45493a1a..80f5c188 100644 --- a/doc/source/handycontrol/extend_controls/circlePanel/index.md +++ b/doc/source/handycontrol/extend_controls/circlePanel/index.md @@ -58,4 +58,4 @@ public class CirclePanel : Panel ``` -![CirclePanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CirclePanel.jpg) \ No newline at end of file +![CirclePanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CirclePanel.png) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/circleProgressBar/index.md b/doc/source/handycontrol/extend_controls/circleProgressBar/index.md index f3cb7e7a..3bc06ec8 100644 --- a/doc/source/handycontrol/extend_controls/circleProgressBar/index.md +++ b/doc/source/handycontrol/extend_controls/circleProgressBar/index.md @@ -40,4 +40,4 @@ public class CircleProgressBar : RangeBase ``` -![CircleProgressBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CircleProgressBar.png) \ No newline at end of file +![CircleProgressBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/CircleProgressBar.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/numericUpDown/index.md b/doc/source/handycontrol/extend_controls/numericUpDown/index.md index ad0773ae..59860a92 100644 --- a/doc/source/handycontrol/extend_controls/numericUpDown/index.md +++ b/doc/source/handycontrol/extend_controls/numericUpDown/index.md @@ -5,8 +5,8 @@ title: NumericUpDown 数值选择控件 NumericUpDown 控件看起来像一对用户可以单击来调整值的箭头按钮和TextBox的组合,该控件显示并设置数值(Value)。 用户可以通过单击向上和向下箭头,或通过在控件的TextBox部分中键入一个数字来改变Value。 ``` CS -[TemplatePart(Name = ElementTextBox, Type = typeof(DatePickerTextBox))] -public class DatePicker : System.Windows.Controls.DatePicker, IDataInput +[TemplatePart(Name = ElementTextBox, Type = typeof(TextBox))] +public class NumericUpDown : Control ``` # 创建NumericUpDown并设置Value @@ -86,17 +86,11 @@ numericUpDown.Maximum = 1000; | Minimum | 获取或设置最小允许值 | | Increment | 获取或设置单击向上或向下按钮时,数字显示框(也称作 up-down 控件)递增或递减的值。 | | DecimalPlaces |获取或设置NumericUpDown中要显示的十进制位数。 此属性不会影响 Value 属性。 | -| VerifyFunc | 获取或设置数据验证委托 | | IsError | 获取或设置数据是否错误 | | ErrorStr | 获取或设置错误提示 | | TextType | 获取或设置文本类型 | | ShowClearButton | 获取或设置是否显示清除按钮 | -# 方法 - -| 方法 | 描述 | -| ---------------- | ------------------ | -| VerifyData() | 验证数据 | # 事件 diff --git a/doc/source/handycontrol/extend_controls/progressButton/index.md b/doc/source/handycontrol/extend_controls/progressButton/index.md index 7fd76d1b..1ed5d278 100644 --- a/doc/source/handycontrol/extend_controls/progressButton/index.md +++ b/doc/source/handycontrol/extend_controls/progressButton/index.md @@ -28,4 +28,4 @@ public class ProgressButton : ToggleButton ``` -![ProgressButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ProgressButton.png) \ No newline at end of file +![ProgressButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/ProgressButton.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/rate/index.md b/doc/source/handycontrol/extend_controls/rate/index.md index 8e8d9fd9..13ead7cd 100644 --- a/doc/source/handycontrol/extend_controls/rate/index.md +++ b/doc/source/handycontrol/extend_controls/rate/index.md @@ -52,4 +52,4 @@ public class Rate : RegularItemsControl ``` -![Rate](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Rate.png) \ No newline at end of file +![Rate](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Rate.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/splitButton/index.md b/doc/source/handycontrol/extend_controls/splitButton/index.md index 33f79879..aa42bdbc 100644 --- a/doc/source/handycontrol/extend_controls/splitButton/index.md +++ b/doc/source/handycontrol/extend_controls/splitButton/index.md @@ -51,4 +51,4 @@ public class SplitButton : ButtonBase ``` -![SplitButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/SplitButton.png) \ No newline at end of file +![SplitButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/SplitButton.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/stepBar/index.md b/doc/source/handycontrol/extend_controls/stepBar/index.md index f21fe2f2..c8fea8d6 100644 --- a/doc/source/handycontrol/extend_controls/stepBar/index.md +++ b/doc/source/handycontrol/extend_controls/stepBar/index.md @@ -90,4 +90,4 @@ public class StepBar : ItemsControl ``` -![StepBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/StepBar.png) \ No newline at end of file +![StepBar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/StepBar.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/extend_controls/transfer/index.md b/doc/source/handycontrol/extend_controls/transfer/index.md index 9e01dcee..ac215d55 100644 --- a/doc/source/handycontrol/extend_controls/transfer/index.md +++ b/doc/source/handycontrol/extend_controls/transfer/index.md @@ -41,4 +41,4 @@ public class Transfer : SimpleItemsControl ``` -![Transfer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Transfer.png) \ No newline at end of file +![Transfer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Transfer.gif) \ No newline at end of file diff --git a/doc/source/handycontrol/native_controls/calendar/index.md b/doc/source/handycontrol/native_controls/calendar/index.md index 1ffb9210..ab50db3a 100644 --- a/doc/source/handycontrol/native_controls/calendar/index.md +++ b/doc/source/handycontrol/native_controls/calendar/index.md @@ -12,5 +12,5 @@ title: Calendar 日历 {% code %} {% endcode %} -![Calendar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Calendar.jpg) +![Calendar](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Calendar.gif) {% endnote %} \ No newline at end of file diff --git a/doc/source/handycontrol/native_controls/index.md b/doc/source/handycontrol/native_controls/index.md index f5e900f0..22e46610 100644 --- a/doc/source/handycontrol/native_controls/index.md +++ b/doc/source/handycontrol/native_controls/index.md @@ -5,7 +5,7 @@ title: 原生控件 原生控件是指WPF框架自带的控件,除此之外,通过附加属性实现简单的功能扩展。 {% note warning %} -HandyControl中,几乎所有的原生控件都有默认实现的基样式(即定义样式的时候,没有显示给定Key值)。 +HandyControl中,几乎所有的原生控件都有默认实现的基样式(即定义样式的时候,没有显式给定Key值)。 {% endnote %} {% note warning %} diff --git a/doc/source/handycontrol/native_controls/textBlock/index.md b/doc/source/handycontrol/native_controls/textBlock/index.md index b1baf500..9b29f5dd 100644 --- a/doc/source/handycontrol/native_controls/textBlock/index.md +++ b/doc/source/handycontrol/native_controls/textBlock/index.md @@ -34,4 +34,4 @@ title: TextBlock 文本块 ``` -![TextBlockStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBlock.jpg) \ No newline at end of file +![TextBlockStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBlock.png) \ No newline at end of file diff --git a/Installers/VS2019/HandyControl_VS2019.sln b/extension/visual studio/HandyControl_VS_Templates.sln similarity index 80% rename from Installers/VS2019/HandyControl_VS2019.sln rename to extension/visual studio/HandyControl_VS_Templates.sln index 2c1629ff..b739d7e1 100644 --- a/Installers/VS2019/HandyControl_VS2019.sln +++ b/extension/visual studio/HandyControl_VS_Templates.sln @@ -3,12 +3,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.28803.352 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControl_VS2019", "HandyControl_VS2019\HandyControl_VS2019.csproj", "{3F0F7B9E-C150-4FAA-9274-4F6F0A96B8CA}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControl_VS_Templates", "HandyControl_VS_Templates\HandyControl_VS_Templates.csproj", "{3F0F7B9E-C150-4FAA-9274-4F6F0A96B8CA}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WpfApp", "WpfApp\WpfApp.csproj", "{83C70EB1-3A3F-4812-B86C-C7D1936699EB}" 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/extension/visual studio/HandyControl_VS_Templates/HandyControl_VS_Templates.csproj similarity index 89% rename from Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019.csproj rename to extension/visual studio/HandyControl_VS_Templates/HandyControl_VS_Templates.csproj index ba720bad..056551c0 100644 --- a/Installers/VS2019/HandyControl_VS2019/HandyControl_VS2019.csproj +++ b/extension/visual studio/HandyControl_VS_Templates/HandyControl_VS_Templates.csproj @@ -13,10 +13,10 @@ {3F0F7B9E-C150-4FAA-9274-4F6F0A96B8CA} Library Properties - HandyControl_VS2019 - HandyControl_VS2019 + HandyControl_VS_Templates + HandyControl VS Templates 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/License.txt b/extension/visual studio/HandyControl_VS_Templates/License.txt similarity index 95% rename from Installers/VS2019/HandyControl_VS2019/License.txt rename to extension/visual studio/HandyControl_VS_Templates/License.txt index 0c1c18de..ce89800c 100644 --- a/Installers/VS2019/HandyControl_VS2019/License.txt +++ b/extension/visual studio/HandyControl_VS_Templates/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/extension/visual studio/HandyControl_VS_Templates/Properties/AssemblyInfo.cs similarity index 51% rename from Installers/VS2019/HandyControl_VS2019/Properties/AssemblyInfo.cs rename to extension/visual studio/HandyControl_VS_Templates/Properties/AssemblyInfo.cs index 94d87828..9acd9636 100644 --- a/Installers/VS2019/HandyControl_VS2019/Properties/AssemblyInfo.cs +++ b/extension/visual studio/HandyControl_VS_Templates/Properties/AssemblyInfo.cs @@ -1,14 +1,14 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("HandyControl_VS2019")] +[assembly: AssemblyTitle("HandyControl VS Templates")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("HandyControl_VS2019")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] +[assembly: AssemblyProduct("HandyControl VS Templates")] +[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.3.0")] +[assembly: AssemblyFileVersion("3.3.0")] diff --git a/Installers/VS2019/HandyControl_VS2019/icon_100_100.png b/extension/visual studio/HandyControl_VS_Templates/icon_100_100.png similarity index 100% rename from Installers/VS2019/HandyControl_VS2019/icon_100_100.png rename to extension/visual studio/HandyControl_VS_Templates/icon_100_100.png diff --git a/Installers/VS2019/HandyControl_VS2019/icon_300_300.png b/extension/visual studio/HandyControl_VS_Templates/icon_300_300.png similarity index 100% rename from Installers/VS2019/HandyControl_VS2019/icon_300_300.png rename to extension/visual studio/HandyControl_VS_Templates/icon_300_300.png diff --git a/Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest b/extension/visual studio/HandyControl_VS_Templates/source.extension.vsixmanifest similarity index 72% rename from Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest rename to extension/visual studio/HandyControl_VS_Templates/source.extension.vsixmanifest index 74e40f35..6d469c17 100644 --- a/Installers/VS2019/HandyControl_VS2019/source.extension.vsixmanifest +++ b/extension/visual studio/HandyControl_VS_Templates/source.extension.vsixmanifest @@ -1,8 +1,8 @@  - - HandyControl for VS2019 + + HandyControl VS Templates This VSIX Project will help people initialize a HandyControl project. https://handyorg.github.io/handycontrol License.txt @@ -13,18 +13,23 @@ WPF C# Control - - - + + x86 + + + x86 + + + x86 + - + - diff --git a/Installers/VS2019/WpfApp/App.xaml b/extension/visual studio/WpfApp/App.xaml similarity index 100% rename from Installers/VS2019/WpfApp/App.xaml rename to extension/visual studio/WpfApp/App.xaml diff --git a/Installers/VS2019/WpfApp/App.xaml.cs b/extension/visual studio/WpfApp/App.xaml.cs similarity index 100% rename from Installers/VS2019/WpfApp/App.xaml.cs rename to extension/visual studio/WpfApp/App.xaml.cs diff --git a/Installers/VS2019/WpfApp/AssemblyInfo.cs b/extension/visual studio/WpfApp/AssemblyInfo.cs similarity index 89% rename from Installers/VS2019/WpfApp/AssemblyInfo.cs rename to extension/visual studio/WpfApp/AssemblyInfo.cs index 9eac2dc2..a3e3ceb3 100644 --- a/Installers/VS2019/WpfApp/AssemblyInfo.cs +++ b/extension/visual studio/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/MainWindow.xaml b/extension/visual studio/WpfApp/MainWindow.xaml similarity index 100% rename from Installers/VS2019/WpfApp/MainWindow.xaml rename to extension/visual studio/WpfApp/MainWindow.xaml diff --git a/Installers/VS2019/WpfApp/MainWindow.xaml.cs b/extension/visual studio/WpfApp/MainWindow.xaml.cs similarity index 100% rename from Installers/VS2019/WpfApp/MainWindow.xaml.cs rename to extension/visual studio/WpfApp/MainWindow.xaml.cs diff --git a/Installers/VS2019/WpfApp/ProjectTemplate.csproj b/extension/visual studio/WpfApp/ProjectTemplate.csproj similarity index 86% rename from Installers/VS2019/WpfApp/ProjectTemplate.csproj rename to extension/visual studio/WpfApp/ProjectTemplate.csproj index d6cec36e..8476138f 100644 --- a/Installers/VS2019/WpfApp/ProjectTemplate.csproj +++ b/extension/visual studio/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/extension/visual studio/WpfApp/Properties/AssemblyInfo.cs similarity index 50% rename from Installers/VS2019/WpfApp/Properties/AssemblyInfo.cs rename to extension/visual studio/WpfApp/Properties/AssemblyInfo.cs index e2fda6dc..08d246c7 100644 --- a/Installers/VS2019/WpfApp/Properties/AssemblyInfo.cs +++ b/extension/visual studio/WpfApp/Properties/AssemblyInfo.cs @@ -1,14 +1,14 @@ using System.Reflection; using System.Runtime.InteropServices; -[assembly: AssemblyTitle("HandyControl_VS2019_WpfApp")] +[assembly: AssemblyTitle("HandyControl VS Templates WpfApp")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("HandyControl_VS2019_WpfApp")] -[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")] +[assembly: AssemblyProduct("HandyControl VS Templates WpfApp")] +[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.3.0")] +[assembly: AssemblyFileVersion("3.3.0")] diff --git a/Installers/VS2019/WpfApp/WpfApp.csproj b/extension/visual studio/WpfApp/WpfApp.csproj similarity index 98% rename from Installers/VS2019/WpfApp/WpfApp.csproj rename to extension/visual studio/WpfApp/WpfApp.csproj index 5c42f1ff..03c2fe4e 100644 --- a/Installers/VS2019/WpfApp/WpfApp.csproj +++ b/extension/visual studio/WpfApp/WpfApp.csproj @@ -66,7 +66,6 @@ - diff --git a/extension/visual studio/WpfApp/WpfApp.vstemplate b/extension/visual studio/WpfApp/WpfApp.vstemplate new file mode 100644 index 00000000..34f4c6fb --- /dev/null +++ b/extension/visual studio/WpfApp/WpfApp.vstemplate @@ -0,0 +1,29 @@ + + + + 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/icon.ico b/extension/visual studio/WpfApp/icon.ico similarity index 100% rename from Installers/VS2019/WpfApp/icon.ico rename to extension/visual studio/WpfApp/icon.ico diff --git a/Installers/VS2019/WpfCoreApp/App.xaml b/extension/visual studio/WpfCoreApp/App.xaml similarity index 100% rename from Installers/VS2019/WpfCoreApp/App.xaml rename to extension/visual studio/WpfCoreApp/App.xaml diff --git a/Installers/VS2019/WpfCoreApp/App.xaml.cs b/extension/visual studio/WpfCoreApp/App.xaml.cs similarity index 100% rename from Installers/VS2019/WpfCoreApp/App.xaml.cs rename to extension/visual studio/WpfCoreApp/App.xaml.cs diff --git a/extension/visual studio/WpfCoreApp/AssemblyInfo.cs b/extension/visual studio/WpfCoreApp/AssemblyInfo.cs new file mode 100644 index 00000000..9ef4842b --- /dev/null +++ b/extension/visual studio/WpfCoreApp/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using System.Windows; + +[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] diff --git a/Installers/VS2019/WpfCoreApp/MainWindow.xaml b/extension/visual studio/WpfCoreApp/MainWindow.xaml similarity index 100% rename from Installers/VS2019/WpfCoreApp/MainWindow.xaml rename to extension/visual studio/WpfCoreApp/MainWindow.xaml diff --git a/Installers/VS2019/WpfCoreApp/MainWindow.xaml.cs b/extension/visual studio/WpfCoreApp/MainWindow.xaml.cs similarity index 100% rename from Installers/VS2019/WpfCoreApp/MainWindow.xaml.cs rename to extension/visual studio/WpfCoreApp/MainWindow.xaml.cs diff --git a/extension/visual studio/WpfCoreApp/ProjectTemplate.csproj b/extension/visual studio/WpfCoreApp/ProjectTemplate.csproj new file mode 100644 index 00000000..31d34b72 --- /dev/null +++ b/extension/visual studio/WpfCoreApp/ProjectTemplate.csproj @@ -0,0 +1,17 @@ + + + + WinExe + true + Copyright © $username$ $year$ + netcoreapp3.0 + latest + true + true + enable + + + + + + diff --git a/extension/visual studio/WpfCoreApp/Properties/AssemblyInfo.cs b/extension/visual studio/WpfCoreApp/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..c63e5480 --- /dev/null +++ b/extension/visual studio/WpfCoreApp/Properties/AssemblyInfo.cs @@ -0,0 +1,14 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("HandyControl VS Templates WpfCoreApp")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("HandyControl VS Templates WpfCoreApp")] +[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] +[assembly: AssemblyVersion("3.3.0")] +[assembly: AssemblyFileVersion("3.3.0")] diff --git a/Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj b/extension/visual studio/WpfCoreApp/WpfCoreApp.csproj similarity index 99% rename from Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj rename to extension/visual studio/WpfCoreApp/WpfCoreApp.csproj index 6a55e8df..baf227fc 100644 --- a/Installers/VS2019/WpfCoreApp/WpfCoreApp.csproj +++ b/extension/visual studio/WpfCoreApp/WpfCoreApp.csproj @@ -60,6 +60,7 @@ MainWindow.xaml + diff --git a/extension/visual studio/WpfCoreApp/WpfCoreApp.vstemplate b/extension/visual studio/WpfCoreApp/WpfCoreApp.vstemplate new file mode 100644 index 00000000..9d39835d --- /dev/null +++ b/extension/visual studio/WpfCoreApp/WpfCoreApp.vstemplate @@ -0,0 +1,28 @@ + + + + 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/Installers/VS2019/WpfCoreApp/icon.ico b/extension/visual studio/WpfCoreApp/icon.ico similarity index 100% rename from Installers/VS2019/WpfCoreApp/icon.ico rename to extension/visual studio/WpfCoreApp/icon.ico diff --git a/src/Directory.Build.Props b/src/Directory.Build.Props index 3cf3de12..9c09fa44 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 + 3.5.0.0 + 3.5.0.0 + 3.5.0.0 latest - Copyright © HandyOrg 2018-2020 + Copyright © HandyOrg 2018-2023 HandyOrg + https://github.com/HandyOrg/HandyControl + https://handyorg.github.io/ diff --git a/src/HandyControl.sln b/src/HandyControl.sln index 39a603b4..bdeea6fc 100644 --- a/src/HandyControl.sln +++ b/src/HandyControl.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28729.10 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32228.430 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Net_GE45", "Net_GE45\HandyControl_Net_GE45\HandyControl_Net_GE45.csproj", "{DC966E3D-BCFF-4652-98CF-070E5494749A}" EndProject @@ -25,16 +25,36 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Code", "Sh EndProject Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.Windows.Shell", "Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.shproj", "{BBE51380-8B21-49FF-9CFC-B29447A40999}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7F52CFD3-EF6C-4D3C-A9D4-B25BF726382A}" + ProjectSection(SolutionItems) = preProject + Directory.Build.Props = Directory.Build.Props + EndProjectSection +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.Expression.Drawing", "Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.shproj", "{E5DC7C25-6293-4660-B5FB-186496386B90}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "System.Windows.Interactivity", "Shared\System.Windows.Interactivity\System.Windows.Interactivity.shproj", "{6F0C9CFF-2269-46A7-9664-478354C582A4}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.Expression.Interactions", "Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.shproj", "{3531857C-28FC-4E0F-82D9-BFBB70740E04}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Shared\HandyControl_Shared\HandyControl_Shared.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5 + Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5 + Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5 Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5 + Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5 + Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems*{3531857c-28fc-4e0f-82d9-bfbb70740e04}*SharedItemsImports = 13 + Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems*{6f0c9cff-2269-46a7-9664-478354c582a4}*SharedItemsImports = 13 Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{9a7b52e6-94bb-4e7e-bb6a-7cf6761b79a7}*SharedItemsImports = 5 Shared\HandyControl_Shared\HandyControl_Shared.projitems*{aac11083-faca-405d-9197-5c1212d65656}*SharedItemsImports = 13 Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.projitems*{bbe51380-8b21-49ff-9cfc-b29447a40999}*SharedItemsImports = 13 Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{c4694269-c9b8-45d5-87f8-d0088c532510}*SharedItemsImports = 13 Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{d8ae88f8-c36b-4d10-a7f9-22ffcfba5231}*SharedItemsImports = 5 Shared\HandyControl_Shared\HandyControl_Shared.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5 + Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5 + Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5 + Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5 + Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems*{e5dc7c25-6293-4660-b5fb-186496386b90}*SharedItemsImports = 13 EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -88,6 +108,9 @@ Global {D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231} = {35E3F9C0-8924-4536-BE09-F3761FDBF066} {D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897} {BBE51380-8B21-49FF-9CFC-B29447A40999} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897} + {E5DC7C25-6293-4660-B5FB-186496386B90} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897} + {6F0C9CFF-2269-46A7-9664-478354C582A4} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897} + {3531857C-28FC-4E0F-82D9-BFBB70740E04} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179} 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 5c85468d..6b412450 100644 --- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj +++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj @@ -6,13 +6,16 @@ net40 ..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico 0108;MSB3026;MSB3061 - true + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + @@ -169,15 +172,24 @@ Resources\Img\Flag\ca-Es.png + + Resources\Img\Flag\cs.png + Resources\Img\Flag\en.png + + Resources\Img\Flag\es.png + Resources\Img\Flag\fa.png Resources\Img\Flag\fr.png + + Resources\Img\Flag\ja.png + Resources\Img\Flag\ko-KR.png @@ -193,216 +205,15 @@ Resources\Img\Flag\tr.png + + Resources\Img\Slack.png + Resources\Img\icon-white.ico Resources\Img\icon.ico - - Resources\Img\qq_group_1.jpg - - - Resources\Img\qq_group_2.jpg - - - Resources\Img\LeftMainContent\Animation_16x.png - - - Resources\Img\LeftMainContent\BorderElement_16x.png - - - Resources\Img\LeftMainContent\Brush_16x.png - - - Resources\Img\LeftMainContent\Bubble_16xLG.png - - - Resources\Img\LeftMainContent\ButtonClick_16x.png - - - Resources\Img\LeftMainContent\Calendar_16x.png - - - Resources\Img\LeftMainContent\Carousel_16x.png - - - Resources\Img\LeftMainContent\CheckBox_16x.png - - - Resources\Img\LeftMainContent\CheckBoxList_16x.png - - - Resources\Img\LeftMainContent\ColorPalette_16x.png - - - Resources\Img\LeftMainContent\ColorWheel_16x.png - - - Resources\Img\LeftMainContent\ComboBox_16x.png - - - Resources\Img\LeftMainContent\ContextMenu_16x.png - - - Resources\Img\LeftMainContent\DataGrid_16x.png - - - Resources\Img\LeftMainContent\DatePicker_16x.png - - - Resources\Img\LeftMainContent\DetailDataView_16x.png - - - Resources\Img\LeftMainContent\Dialog_16x.png - - - Resources\Img\LeftMainContent\DotLarge_16x.png - - - Resources\Img\LeftMainContent\Expander_16x.png - - - Resources\Img\LeftMainContent\FlipVertical_16x.png - - - Resources\Img\LeftMainContent\Flow_16x.png - - - Resources\Img\LeftMainContent\GoToTop_16x.png - - - Resources\Img\LeftMainContent\GroupBox_16x.png - - - Resources\Img\LeftMainContent\HoverMenu_16x.png - - - Resources\Img\LeftMainContent\Image_16x.png - - - Resources\Img\LeftMainContent\ImageBrowser_16x.png - - - Resources\Img\LeftMainContent\Label_16x.png - - - Resources\Img\LeftMainContent\layout-FlexLayout-16.png - - - Resources\Img\LeftMainContent\LinearCarousel_16x.png - - - Resources\Img\LeftMainContent\ListBox_16x.png - - - Resources\Img\LeftMainContent\ListView_16x.png - - - Resources\Img\LeftMainContent\Loading_Blue_16x.png - - - Resources\Img\LeftMainContent\Message_16x.png - - - Resources\Img\LeftMainContent\NotificationHub_16x.png - - - Resources\Img\LeftMainContent\NumericListBox_16x.png - - - Resources\Img\LeftMainContent\Paginator_16x.png - - - Resources\Img\LeftMainContent\Panel_16x.png - - - Resources\Img\LeftMainContent\PasswordBox_16x.png - - - Resources\Img\LeftMainContent\Path_16x.png - - - Resources\Img\LeftMainContent\ProgressBar_16x.png - - - Resources\Img\LeftMainContent\ProgressButton_16x.png - - - Resources\Img\LeftMainContent\RadioButton_16x.png - - - Resources\Img\LeftMainContent\PropertyGridEditorPart_16x.png - - - Resources\Img\LeftMainContent\RepeatButton_16x.png - - - Resources\Img\LeftMainContent\RichTextBox_16x.png - - - Resources\Img\LeftMainContent\ScrollBox_16x.png - - - Resources\Img\LeftMainContent\Search_16x.png - - - Resources\Img\LeftMainContent\Shield_16x.png - - - Resources\Img\LeftMainContent\Slider_16x.png - - - Resources\Img\LeftMainContent\SortAscending_grey_16x.png - - - Resources\Img\LeftMainContent\SplitterControl_16x.png - - - Resources\Img\LeftMainContent\Star.png - - - Resources\Img\LeftMainContent\TabPage_16x.png - - - Resources\Img\LeftMainContent\Tag_16x.png - - - Resources\Img\LeftMainContent\TextBlock_16x.png - - - Resources\Img\LeftMainContent\TextBox_16x.png - - - Resources\Img\LeftMainContent\Timeline_16x.png - - - Resources\Img\LeftMainContent\TimePicker_16x.png - - - Resources\Img\LeftMainContent\Time_color_16x.png - - - Resources\Img\LeftMainContent\Toggle_16x.png - - - Resources\Img\LeftMainContent\ToolBar_16x.png - - - Resources\Img\LeftMainContent\Transfer_16x.png - - - Resources\Img\LeftMainContent\TreeView_16x.png - - - Resources\Img\LeftMainContent\User_16x.png - - - Resources\Img\LeftMainContent\WindowsForm_16x.png - - - Resources\Img\LeftMainContent\GridPane_16x.png - Resources\Img\under_construction.gif @@ -421,90 +232,24 @@ Resources\Img\DevOps\DevOps-TestPlans.png - - Resources\Img\LeftMainContent\MainMenuControl_16x.png - Resources\fabric-icons.ttf + + Resources\xshd\CSharp-Dark.xshd + + + Resources\xshd\XML-Dark.xshd + Resources\Registry.txt - - Resources\Img\LeftMainContent\brackets_Square_16xLG.png - - - Resources\Img\LeftMainContent\ButtonGroup_16x.png - - - Resources\Img\LeftMainContent\VSO_Card_16x.png - - - Resources\Img\LeftMainContent\ImageStack_16x.png - - - Resources\Img\LeftMainContent\IncreaseHorizontalSpacing_16x.png - - - Resources\Img\LeftMainContent\Dynamic_16x.png - - - Resources\Img\LeftMainContent\PolygonHexagon_16x.png - - - Resources\Img\LeftMainContent\HandyControl.png - - - Resources\Img\LeftMainContent\Procedure_16x.png - Resources\Img\Dance.png - - Resources\Img\LeftMainContent\thumbs_up.png - - - Resources\Img\LeftMainContent\SplitButton_16x.png - - - Resources\Img\LeftMainContent\DataGenerator_16x.png - - - Resources\Img\LeftMainContent\DottedSplitter_16x.png - - - Resources\Img\LeftMainContent\PopupCursor_16x.png - - - Resources\Img\LeftMainContent\TransitioningContentControl_16x.png - - - Resources\Img\LeftMainContent\View_Portrait_16x.png - - - Resources\Img\LeftMainContent\TransformRelative_16x.png - - - Resources\Img\LeftMainContent\Effects_16x.png - - - Resources\Img\LeftMainContent\Ellipsis_16x.png - - - Resources\Img\LeftMainContent\WPFFlowDocument_16x.png - - - Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png - - - Resources\Img\LeftMainContent\frame_16xLG.png - Resources\Img\cloud.png - - Resources\Img\LeftMainContent\WindowScreenshot_16x.png - @@ -513,15 +258,24 @@ Properties\Langs\Lang.ca-ES.resx + + Properties\Langs\Lang.cs.resx + Properties\Langs\Lang.en.resx + + Properties\Langs\Lang.es.resx + Properties\Langs\Lang.fa.resx Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ja.resx + Properties\Langs\Lang.ko-KR.resx @@ -567,8 +321,10 @@ if not exist Langs md Langs rd /s /q Langs\en + rd /s /q Langs\es rd /s /q Langs\fa rd /s /q Langs\fr + rd /s /q Langs\ja rd /s /q Langs\ko-KR rd /s /q Langs\pt-BR rd /s /q Langs\pl @@ -576,8 +332,10 @@ rd /s /q Langs\tr rd /s /q Langs\ca-Es move en Langs + move es Langs move fa Langs move fr Langs + move ja Langs move ko-KR Langs move pt-BR Langs move pl Langs @@ -585,10 +343,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..6d7758bd 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 @@ -41,8 +38,14 @@ Properties\Langs\Lang.ca-ES.resx + + Properties\Langs\Lang.cs.resx + Properties\Langs\Lang.en.resx + + + Properties\Langs\Lang.es.resx Properties\Langs\Lang.fa.resx @@ -50,6 +53,9 @@ Properties\Langs\Lang.fr.resx + + Properties\Langs\Lang.ja.resx + Properties\Langs\Lang.ko-KR.resx @@ -80,6 +86,9 @@ + + + Resources\dropper.cur @@ -192,6 +201,10 @@ Designer + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + Designer MSBuild:Compile diff --git a/src/Net_40/HandyControl_Net_40/Themes/Styles/Base/CheckComboBoxBaseStyle.xaml b/src/Net_40/HandyControl_Net_40/Themes/Styles/Base/CheckComboBoxBaseStyle.xaml index 55458778..b734888c 100644 --- a/src/Net_40/HandyControl_Net_40/Themes/Styles/Base/CheckComboBoxBaseStyle.xaml +++ b/src/Net_40/HandyControl_Net_40/Themes/Styles/Base/CheckComboBoxBaseStyle.xaml @@ -2,37 +2,30 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:hc="clr-namespace:HandyControl.Controls" xmlns:ex="clr-namespace:HandyControl.Tools.Extension" - xmlns:themes="clr-namespace:HandyControl.Themes" xmlns:system="clr-namespace:System;assembly=mscorlib" xmlns:interactivity="clr-namespace:HandyControl.Interactivity" xmlns:langs="clr-namespace:HandyControl.Properties.Langs"> - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - + - + - - + - + - - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - + - + - + - - + - - - - - - - - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - -