Merge branch 'master' into patch-2
No files matched your search
@@ -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.
|
||||
@@ -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
|
||||
@@ -7,6 +7,12 @@ jobs:
|
||||
- name: checkout
|
||||
uses: actions/checkout@master
|
||||
|
||||
- name: Setup .NET Core SDK
|
||||
uses: actions/setup-dotnet@master
|
||||
with:
|
||||
dotnet-version: '6.0.x'
|
||||
include-prerelease: true
|
||||
|
||||
- name: setup nuget.exe
|
||||
uses: NuGet/setup-nuget@v1.0.5
|
||||
|
||||
@@ -15,7 +21,7 @@ jobs:
|
||||
run: |
|
||||
cd build
|
||||
.\build.ps1
|
||||
nuget pack build-for-myget.nuspec -version 3.3.0-beta.${env:GITHUB_RUN_NUMBER}
|
||||
nuget pack build-for-myget.nuspec -version 3.4.0-beta.${env:GITHUB_RUN_NUMBER}
|
||||
$nupkgName = @(gci *.nupkg)[0].Name
|
||||
$mygetSourcePath = "https://www.myget.org/F/handycontrol"
|
||||
nuget setApiKey ${{ secrets.MYGETTOKEN }} -Source $mygetSourcePath
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/HandyOrg/HandyControl/blob/master/README-cn.md">中文</a>
|
||||
❤
|
||||
<a href="https://github.com/HandyOrg/HandyControl/blob/master/README-cn.md">中文</a>
|
||||
❤
|
||||
<a href="https://github.com/HandyOrg/HandyControl/blob/master/README.md">English</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<p align="center">
|
||||
<img alt="dotnet-version" src="https://img.shields.io/badge/.net-%3E%3D4.0-blue.svg"></img>
|
||||
<img alt="csharp-version" src="https://img.shields.io/badge/C%23-8.0-blue.svg"></img>
|
||||
<img alt="IDE-version" src="https://img.shields.io/badge/IDE-vs2019-blue.svg"></img>
|
||||
@@ -17,13 +17,13 @@
|
||||
</a>
|
||||
<a href="https://www.myget.org/feed/handycontrol/package/nuget/HandyControl">
|
||||
<img alt="myget-version" src="https://img.shields.io/myget/handycontrol/v/handycontrol?color=orange&label=myget"></img>
|
||||
</a>
|
||||
</a>
|
||||
<a href="https://github.com/HandyOrg/HandyControl/actions?query=workflow%3Abuild">
|
||||
<img alt="Github-build-status" src="https://github.com/HandyOrg/HandyControl/workflows/build/badge.svg"></img>
|
||||
</a>
|
||||
<a href="https://www.nuget.org/packages/HandyControl">
|
||||
<img alt="Nuget" src="https://img.shields.io/nuget/dt/handycontrol"></img>
|
||||
</a>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## 特别声明
|
||||
@@ -48,9 +48,9 @@ HandyControl 项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组
|
||||
|
||||
### 赞助
|
||||
|
||||
* [以HandyControl的名义为慈善事业做贡献(请联系我们上赞助墙)](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3)
|
||||
* [以HandyControl的名义为慈善事业做贡献(请联系我们上赞助墙)](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3)
|
||||
|
||||
* 为我们购买防脱洗发水 (支付宝扫码)
|
||||
* 为我们购买防脱洗发水 (支付宝扫码)
|
||||

|
||||
|
||||
## 贡献者
|
||||
@@ -85,6 +85,7 @@ HandyControl 项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组
|
||||
<a href="https://github.com/shaosu" target="_blank"><img style="border-radius:50%!important" width="64px" alt="shaosu" src="https://avatars.githubusercontent.com/u/12237247?s=64&v=4"></a>
|
||||
<a href="https://github.com/imba-tjd" target="_blank"><img style="border-radius:50%!important" width="64px" alt="imba-tjd" src="https://avatars.githubusercontent.com/u/24759802?s=64&v=4"></a>
|
||||
<a href="https://github.com/jhm-ciberman" target="_blank"><img style="border-radius:50%!important" width="64px" alt="jhm-ciberman" src="https://avatars.githubusercontent.com/u/7988351?s=64&v=4"></a>
|
||||
<a href="https://github.com/musashi-miyamoto" target="_blank"><img style="border-radius:50%!important" width="64px" alt="musashi-miyamoto" src="https://avatars.githubusercontent.com/u/44890163?s=64&v=4"></a>
|
||||
|
||||
## 赞助者
|
||||
|
||||
@@ -93,8 +94,8 @@ HandyControl 项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组
|
||||
<a href="https://github.com/IUpdatable" target="_blank"><img style="border-radius:50%!important" width="64px" alt="IUpdatable" src="https://avatars.githubusercontent.com/u/51181716?s=64&v=4"></a>
|
||||
<a href="https://github.com/maplewei" target="_blank"><img style="border-radius:50%!important" width="64px" alt="maplewei" src="https://avatars.githubusercontent.com/u/13778095?s=64&v=4"></a>
|
||||
<a href="https://github.com/sunshang-hl" target="_blank"><img style="border-radius:50%!important" width="64px" alt="sunshang-hl" src="https://avatars.githubusercontent.com/u/34593206?s=64&v=4"></a>
|
||||
<a href="https://github.com/yangkang326" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yangkang326" src="https://avatars.githubusercontent.com/u/51224259?s=64&v=4"></a>
|
||||
<a href="https://github.com/zmrbak" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zmrbak" src="https://avatars.githubusercontent.com/u/7257543?s=64&v=4"></a>
|
||||
<a href="https://github.com/yangkang326" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yangkang326" src="https://avatars.githubusercontent.com/u/51224259?s=64&v=4"></a>
|
||||
<a href="https://github.com/zmrbak" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zmrbak" src="https://avatars.githubusercontent.com/u/7257543?s=64&v=4"></a>
|
||||
<a href="https://github.com/AFei19911012" target="_blank"><img style="border-radius:50%!important" width="64px" alt="AFei19911012" src="https://avatars.githubusercontent.com/u/31465314?s=64&v=4"></a>
|
||||
<a href="https://github.com/wayne2006" target="_blank"><img style="border-radius:50%!important" width="64px" alt="wayne2006" src="https://avatars.githubusercontent.com/u/21210915?s=64&v=4"></a>
|
||||
<a href="https://github.com/towerDLH" target="_blank"><img style="border-radius:50%!important" width="64px" alt="towerDLH" src="https://avatars.githubusercontent.com/u/53053537?s=64&v=4"></a>
|
||||
@@ -130,6 +131,8 @@ HandyControl 项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组
|
||||
<a href="https://github.com/icarousfff" target="_blank"><img style="border-radius:50%!important" width="64px" alt="icarousfff" src="https://avatars.githubusercontent.com/u/49859230?s=64&v=4"></a>
|
||||
<a href="https://github.com/qiang9420d" target="_blank"><img style="border-radius:50%!important" width="64px" alt="qiang9420d" src="https://avatars.githubusercontent.com/u/22925262?s=64&v=4"></a>
|
||||
<a href="https://github.com/zhongwcool" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zhongwcool" src="https://avatars.githubusercontent.com/u/5747392?s=64&v=4"></a>
|
||||
<a href="https://github.com/HenJigg" target="_blank"><img style="border-radius:50%!important" width="64px" alt="HenJigg" src="https://avatars.githubusercontent.com/u/42528522?s=64&v=4"></a>
|
||||
<a href="https://github.com/MysticABC" target="_blank"><img style="border-radius:50%!important" width="64px" alt="MysticABC" src="https://avatars.githubusercontent.com/u/53632904?s=64&v=4"></a>
|
||||
|
||||
## 鸣谢
|
||||
|
||||
@@ -141,13 +144,13 @@ HandyControl 项目已加入 [dotNET China](https://gitee.com/dotnetchina) 组
|
||||
|
||||
<a href="https://getquicker.net" target="_blank"><img width="70px" alt="quicker" src="https://files.getquicker.net/_sitefiles/quicker_round_128.png"></a>
|
||||
<a href="https://www.phpenv.cn" target="_blank"><img width="70px" alt="phpenv" src="https://www.phpenv.cn/usr/themes/phpenv/img/logo.png"></a>
|
||||
<a href="https://atmb.top" target="_blank"><img width="70px" alt="AutumnBox" src="https://atmb.top/images/icon.png"></a>
|
||||
<a href="https://github.com/zsh2401/AutumnBox" target="_blank"><img width="70px" alt="AutumnBox" src="https://raw.githubusercontent.com/zsh2401/AutumnBox/master/src/AutumnBox.GUI/Resources/Icons/icon.ico"></a>
|
||||
|
||||
如果你的项目没有被列出,请告知我们! 😀
|
||||
|
||||
## 用法
|
||||
|
||||
Step 1: 添加 HandyControl 引用,或在 nuget 上搜索 HandyControl;
|
||||
Step 1: 添加 HandyControl 引用,或在 nuget 上搜索 HandyControl;
|
||||
|
||||
```Install-Package HandyControl```
|
||||
|
||||
@@ -277,7 +280,7 @@ Step 4: 开始编码
|
||||
|
||||
### ImageBlock
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/HandyOrg/HandyControl/blob/master/README-cn.md">中文</a>
|
||||
❤
|
||||
<a href="https://github.com/HandyOrg/HandyControl/blob/master/README-cn.md">中文</a>
|
||||
❤
|
||||
<a href="https://github.com/HandyOrg/HandyControl/blob/master/README.md">English</a>
|
||||
</p>
|
||||
|
||||
@@ -14,16 +14,16 @@
|
||||
<img alt="IDE-version" src="https://img.shields.io/badge/IDE-vs2019-blue.svg"></img>
|
||||
<a href="https://www.nuget.org/packages/HandyControl">
|
||||
<img alt="nuget-version" src="https://img.shields.io/nuget/v/HandyControl.svg"></img>
|
||||
</a>
|
||||
</a>
|
||||
<a href="https://www.myget.org/feed/handycontrol/package/nuget/HandyControl">
|
||||
<img alt="myget-version" src="https://img.shields.io/myget/handycontrol/v/handycontrol?color=orange&label=myget"></img>
|
||||
</a>
|
||||
</a>
|
||||
<a href="https://github.com/HandyOrg/HandyControl/actions?query=workflow%3Abuild">
|
||||
<img alt="Github-build-status" src="https://github.com/HandyOrg/HandyControl/workflows/build/badge.svg"></img>
|
||||
</a>
|
||||
<a href="https://www.nuget.org/packages/HandyControl">
|
||||
<img alt="Nuget" src="https://img.shields.io/nuget/dt/handycontrol"></img>
|
||||
</a>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## 面向中国
|
||||
@@ -42,9 +42,9 @@
|
||||
|
||||
### 赞助
|
||||
|
||||
* [以HandyControl的名义为慈善事业做贡献(请联系我们上赞助墙)](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3)
|
||||
* [以HandyControl的名义为慈善事业做贡献(请联系我们上赞助墙)](http://www.chinacharityfederation.org/ConfirmDonation/0.html?zhijie=3)
|
||||
|
||||
* 为我们购买防脱洗发水 (支付宝扫码)
|
||||
* 为我们购买防脱洗发水 (支付宝扫码)
|
||||

|
||||
|
||||
## Contributors
|
||||
@@ -79,6 +79,7 @@
|
||||
<a href="https://github.com/shaosu" target="_blank"><img style="border-radius:50%!important" width="64px" alt="shaosu" src="https://avatars.githubusercontent.com/u/12237247?s=64&v=4"></a>
|
||||
<a href="https://github.com/imba-tjd" target="_blank"><img style="border-radius:50%!important" width="64px" alt="imba-tjd" src="https://avatars.githubusercontent.com/u/24759802?s=64&v=4"></a>
|
||||
<a href="https://github.com/jhm-ciberman" target="_blank"><img style="border-radius:50%!important" width="64px" alt="jhm-ciberman" src="https://avatars.githubusercontent.com/u/7988351?s=64&v=4"></a>
|
||||
<a href="https://github.com/musashi-miyamoto" target="_blank"><img style="border-radius:50%!important" width="64px" alt="musashi-miyamoto" src="https://avatars.githubusercontent.com/u/44890163?s=64&v=4"></a>
|
||||
|
||||
## Backers
|
||||
|
||||
@@ -87,8 +88,8 @@
|
||||
<a href="https://github.com/IUpdatable" target="_blank"><img style="border-radius:50%!important" width="64px" alt="IUpdatable" src="https://avatars.githubusercontent.com/u/51181716?s=64&v=4"></a>
|
||||
<a href="https://github.com/maplewei" target="_blank"><img style="border-radius:50%!important" width="64px" alt="maplewei" src="https://avatars.githubusercontent.com/u/13778095?s=64&v=4"></a>
|
||||
<a href="https://github.com/sunshang-hl" target="_blank"><img style="border-radius:50%!important" width="64px" alt="sunshang-hl" src="https://avatars.githubusercontent.com/u/34593206?s=64&v=4"></a>
|
||||
<a href="https://github.com/yangkang326" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yangkang326" src="https://avatars.githubusercontent.com/u/51224259?s=64&v=4"></a>
|
||||
<a href="https://github.com/zmrbak" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zmrbak" src="https://avatars.githubusercontent.com/u/7257543?s=64&v=4"></a>
|
||||
<a href="https://github.com/yangkang326" target="_blank"><img style="border-radius:50%!important" width="64px" alt="yangkang326" src="https://avatars.githubusercontent.com/u/51224259?s=64&v=4"></a>
|
||||
<a href="https://github.com/zmrbak" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zmrbak" src="https://avatars.githubusercontent.com/u/7257543?s=64&v=4"></a>
|
||||
<a href="https://github.com/AFei19911012" target="_blank"><img style="border-radius:50%!important" width="64px" alt="AFei19911012" src="https://avatars.githubusercontent.com/u/31465314?s=64&v=4"></a>
|
||||
<a href="https://github.com/wayne2006" target="_blank"><img style="border-radius:50%!important" width="64px" alt="wayne2006" src="https://avatars.githubusercontent.com/u/21210915?s=64&v=4"></a>
|
||||
<a href="https://github.com/towerDLH" target="_blank"><img style="border-radius:50%!important" width="64px" alt="towerDLH" src="https://avatars.githubusercontent.com/u/53053537?s=64&v=4"></a>
|
||||
@@ -124,6 +125,8 @@
|
||||
<a href="https://github.com/icarousfff" target="_blank"><img style="border-radius:50%!important" width="64px" alt="icarousfff" src="https://avatars.githubusercontent.com/u/49859230?s=64&v=4"></a>
|
||||
<a href="https://github.com/qiang9420d" target="_blank"><img style="border-radius:50%!important" width="64px" alt="qiang9420d" src="https://avatars.githubusercontent.com/u/22925262?s=64&v=4"></a>
|
||||
<a href="https://github.com/zhongwcool" target="_blank"><img style="border-radius:50%!important" width="64px" alt="zhongwcool" src="https://avatars.githubusercontent.com/u/5747392?s=64&v=4"></a>
|
||||
<a href="https://github.com/HenJigg" target="_blank"><img style="border-radius:50%!important" width="64px" alt="HenJigg" src="https://avatars.githubusercontent.com/u/42528522?s=64&v=4"></a>
|
||||
<a href="https://github.com/MysticABC" target="_blank"><img style="border-radius:50%!important" width="64px" alt="MysticABC" src="https://avatars.githubusercontent.com/u/53632904?s=64&v=4"></a>
|
||||
|
||||
## Special thanks to
|
||||
|
||||
@@ -135,13 +138,13 @@
|
||||
|
||||
<a href="https://getquicker.net" target="_blank"><img width="70px" alt="quicker" src="https://i0.hdslb.com/bfs/face/3765a3d0ce5da37e1aaa830d2eec6d3e0806a2d8.jpg@96w_96h_1c.webp"></a>
|
||||
<a href="https://www.phpenv.cn" target="_blank"><img width="70px" alt="phpenv" src="https://www.phpenv.cn/usr/themes/phpenv/img/logo.png"></a>
|
||||
<a href="https://atmb.top" target="_blank"><img width="70px" alt="AutumnBox" src="https://atmb.top/images/icon.png"></a>
|
||||
<a href="https://github.com/zsh2401/AutumnBox" target="_blank"><img width="70px" alt="AutumnBox" src="https://raw.githubusercontent.com/zsh2401/AutumnBox/master/src/AutumnBox.GUI/Resources/Icons/icon.ico"></a>
|
||||
|
||||
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```
|
||||
|
||||
@@ -271,7 +274,7 @@ Step 4: Enjoy coding
|
||||
|
||||
### ImageBlock
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<file src="lib\net40\en\HandyControl.resources.dll" target="lib\net40\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net40\fa\HandyControl.resources.dll" target="lib\net40\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net40\fr\HandyControl.resources.dll" target="lib\net40\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net40\ja\HandyControl.resources.dll" target="lib\net40\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net40\ko-KR\HandyControl.resources.dll" target="lib\net40\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net40\pl\HandyControl.resources.dll" target="lib\net40\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net40\pt-BR\HandyControl.resources.dll" target="lib\net40\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -47,6 +48,7 @@
|
||||
<file src="lib\net45\en\HandyControl.resources.dll" target="lib\net45\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\fa\HandyControl.resources.dll" target="lib\net45\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\fr\HandyControl.resources.dll" target="lib\net45\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\ja\HandyControl.resources.dll" target="lib\net45\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\ko-KR\HandyControl.resources.dll" target="lib\net45\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\pl\HandyControl.resources.dll" target="lib\net45\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\pt-BR\HandyControl.resources.dll" target="lib\net45\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -59,6 +61,7 @@
|
||||
<file src="lib\net451\en\HandyControl.resources.dll" target="lib\net451\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\fa\HandyControl.resources.dll" target="lib\net451\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\fr\HandyControl.resources.dll" target="lib\net451\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\ja\HandyControl.resources.dll" target="lib\net451\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\ko-KR\HandyControl.resources.dll" target="lib\net451\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\pl\HandyControl.resources.dll" target="lib\net451\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\pt-BR\HandyControl.resources.dll" target="lib\net451\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -71,6 +74,7 @@
|
||||
<file src="lib\net452\en\HandyControl.resources.dll" target="lib\net452\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\fa\HandyControl.resources.dll" target="lib\net452\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\fr\HandyControl.resources.dll" target="lib\net452\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\ja\HandyControl.resources.dll" target="lib\net452\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\ko-KR\HandyControl.resources.dll" target="lib\net452\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\pl\HandyControl.resources.dll" target="lib\net452\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\pt-BR\HandyControl.resources.dll" target="lib\net452\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -83,6 +87,7 @@
|
||||
<file src="lib\net46\en\HandyControl.resources.dll" target="lib\net46\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\fa\HandyControl.resources.dll" target="lib\net46\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\fr\HandyControl.resources.dll" target="lib\net46\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\ja\HandyControl.resources.dll" target="lib\net46\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\ko-KR\HandyControl.resources.dll" target="lib\net46\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\pl\HandyControl.resources.dll" target="lib\net46\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\pt-BR\HandyControl.resources.dll" target="lib\net46\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -95,6 +100,7 @@
|
||||
<file src="lib\net461\en\HandyControl.resources.dll" target="lib\net461\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\fa\HandyControl.resources.dll" target="lib\net461\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\fr\HandyControl.resources.dll" target="lib\net461\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\ja\HandyControl.resources.dll" target="lib\net461\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\ko-KR\HandyControl.resources.dll" target="lib\net461\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\pl\HandyControl.resources.dll" target="lib\net461\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\pt-BR\HandyControl.resources.dll" target="lib\net461\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -107,6 +113,7 @@
|
||||
<file src="lib\net462\en\HandyControl.resources.dll" target="lib\net462\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\fa\HandyControl.resources.dll" target="lib\net462\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\fr\HandyControl.resources.dll" target="lib\net462\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\ja\HandyControl.resources.dll" target="lib\net462\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\ko-KR\HandyControl.resources.dll" target="lib\net462\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\pl\HandyControl.resources.dll" target="lib\net462\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\pt-BR\HandyControl.resources.dll" target="lib\net462\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -119,6 +126,7 @@
|
||||
<file src="lib\net47\en\HandyControl.resources.dll" target="lib\net47\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\fa\HandyControl.resources.dll" target="lib\net47\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\fr\HandyControl.resources.dll" target="lib\net47\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\ja\HandyControl.resources.dll" target="lib\net47\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\ko-KR\HandyControl.resources.dll" target="lib\net47\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\pl\HandyControl.resources.dll" target="lib\net47\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\pt-BR\HandyControl.resources.dll" target="lib\net47\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -131,6 +139,7 @@
|
||||
<file src="lib\net471\en\HandyControl.resources.dll" target="lib\net471\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\fa\HandyControl.resources.dll" target="lib\net471\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\fr\HandyControl.resources.dll" target="lib\net471\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\ja\HandyControl.resources.dll" target="lib\net471\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\ko-KR\HandyControl.resources.dll" target="lib\net471\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\pl\HandyControl.resources.dll" target="lib\net471\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\pt-BR\HandyControl.resources.dll" target="lib\net471\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -143,6 +152,7 @@
|
||||
<file src="lib\net472\en\HandyControl.resources.dll" target="lib\net472\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\fa\HandyControl.resources.dll" target="lib\net472\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\fr\HandyControl.resources.dll" target="lib\net472\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\ja\HandyControl.resources.dll" target="lib\net472\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\ko-KR\HandyControl.resources.dll" target="lib\net472\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\pl\HandyControl.resources.dll" target="lib\net472\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\pt-BR\HandyControl.resources.dll" target="lib\net472\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -155,6 +165,7 @@
|
||||
<file src="lib\net48\en\HandyControl.resources.dll" target="lib\net48\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\fa\HandyControl.resources.dll" target="lib\net48\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\fr\HandyControl.resources.dll" target="lib\net48\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\ja\HandyControl.resources.dll" target="lib\net48\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\ko-KR\HandyControl.resources.dll" target="lib\net48\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\pl\HandyControl.resources.dll" target="lib\net48\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\pt-BR\HandyControl.resources.dll" target="lib\net48\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -167,6 +178,7 @@
|
||||
<file src="lib\net5.0\en\HandyControl.resources.dll" target="lib\net5.0\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\fa\HandyControl.resources.dll" target="lib\net5.0\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\fr\HandyControl.resources.dll" target="lib\net5.0\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\ja\HandyControl.resources.dll" target="lib\net5.0\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\ko-KR\HandyControl.resources.dll" target="lib\net5.0\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\pl\HandyControl.resources.dll" target="lib\net5.0\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\pt-BR\HandyControl.resources.dll" target="lib\net5.0\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -181,6 +193,7 @@
|
||||
<file src="lib\net6.0\en\HandyControl.resources.dll" target="lib\net6.0\en\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\fa\HandyControl.resources.dll" target="lib\net6.0\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\fr\HandyControl.resources.dll" target="lib\net6.0\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\ja\HandyControl.resources.dll" target="lib\net6.0\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\ko-KR\HandyControl.resources.dll" target="lib\net6.0\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\pl\HandyControl.resources.dll" target="lib\net6.0\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\pt-BR\HandyControl.resources.dll" target="lib\net6.0\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -195,6 +208,7 @@
|
||||
<file src="lib\netcoreapp3.0\en\HandyControl.resources.dll" target="lib\netcoreapp3.0\en\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\fa\HandyControl.resources.dll" target="lib\netcoreapp3.0\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\fr\HandyControl.resources.dll" target="lib\netcoreapp3.0\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\ja\HandyControl.resources.dll" target="lib\netcoreapp3.0\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\ko-KR\HandyControl.resources.dll" target="lib\netcoreapp3.0\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\pl\HandyControl.resources.dll" target="lib\netcoreapp3.0\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\pt-BR\HandyControl.resources.dll" target="lib\netcoreapp3.0\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -208,6 +222,7 @@
|
||||
<file src="lib\netcoreapp3.1\en\HandyControl.resources.dll" target="lib\netcoreapp3.1\en\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\fa\HandyControl.resources.dll" target="lib\netcoreapp3.1\fa\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\fr\HandyControl.resources.dll" target="lib\netcoreapp3.1\fr\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\ja\HandyControl.resources.dll" target="lib\netcoreapp3.1\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\ko-KR\HandyControl.resources.dll" target="lib\netcoreapp3.1\ko-KR\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\pl\HandyControl.resources.dll" target="lib\netcoreapp3.1\pl\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\pt-BR\HandyControl.resources.dll" target="lib\netcoreapp3.1\pt-BR\HandyControl.resources.dll" />
|
||||
@@ -218,4 +233,4 @@
|
||||
<file src="lib\netcoreapp3.1\HandyControl.pdb" target="lib\netcoreapp3.1\HandyControl.pdb" />
|
||||
<file src="lib\netcoreapp3.1\HandyControl.xml" target="lib\netcoreapp3.1\HandyControl.xml" />
|
||||
</files>
|
||||
</package>
|
||||
</package>
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>HandyControl.Lang.es</id>
|
||||
<version>3.3.0</version>
|
||||
<title>HandyOrg</title>
|
||||
<authors>HandyOrg</authors>
|
||||
<owners>HandyOrg</owners>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<license type="file">LICENSE</license>
|
||||
<icon>icon.png</icon>
|
||||
<projectUrl>https://github.com/HandyOrg/HandyControl</projectUrl>
|
||||
<description>Contains some simple and commonly used WPF controls</description>
|
||||
<releaseNotes>Changes are detailed at https://github.com/HandyOrg/HandyControl/releases</releaseNotes>
|
||||
<copyright>Copyright © HandyOrg 2018-2021</copyright>
|
||||
<tags>WPF C# Control</tags>
|
||||
<repository type="git" url="https://github.com/HandyOrg/HandyControl" commit="083639031635a4b9618842b2be589324d8676055" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework4.0" />
|
||||
<group targetFramework=".NETFramework4.5" />
|
||||
<group targetFramework=".NETFramework4.5.1" />
|
||||
<group targetFramework=".NETFramework4.5.2" />
|
||||
<group targetFramework=".NETFramework4.6" />
|
||||
<group targetFramework=".NETFramework4.6.1" />
|
||||
<group targetFramework=".NETFramework4.6.2" />
|
||||
<group targetFramework=".NETFramework4.7" />
|
||||
<group targetFramework=".NETFramework4.7.1" />
|
||||
<group targetFramework=".NETFramework4.7.2" />
|
||||
<group targetFramework=".NETFramework4.8" />
|
||||
<group targetFramework=".NETCoreApp3.0" />
|
||||
<group targetFramework=".NETCoreApp3.1" />
|
||||
<group targetFramework="net5.0" />
|
||||
<group targetFramework="net6.0" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="lib\net40\es\HandyControl.resources.dll" target="lib\net40\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\es\HandyControl.resources.dll" target="lib\net45\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\es\HandyControl.resources.dll" target="lib\net451\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\es\HandyControl.resources.dll" target="lib\net452\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\es\HandyControl.resources.dll" target="lib\net46\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\es\HandyControl.resources.dll" target="lib\net461\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\es\HandyControl.resources.dll" target="lib\net462\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\es\HandyControl.resources.dll" target="lib\net47\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\es\HandyControl.resources.dll" target="lib\net471\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\es\HandyControl.resources.dll" target="lib\net472\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\es\HandyControl.resources.dll" target="lib\net48\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\es\HandyControl.resources.dll" target="lib\net5.0\es\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\es\HandyControl.resources.dll" target="lib\net6.0\es\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\es\HandyControl.resources.dll" target="lib\netcoreapp3.0\es\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\es\HandyControl.resources.dll" target="lib\netcoreapp3.1\es\HandyControl.resources.dll" />
|
||||
<file src="icon.png" target="icon.png" />
|
||||
<file src="LICENSE" target="LICENSE" />
|
||||
</files>
|
||||
</package>
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>HandyControl.Lang.ja</id>
|
||||
<version>3.3.0</version>
|
||||
<title>HandyOrg</title>
|
||||
<authors>HandyOrg</authors>
|
||||
<owners>HandyOrg</owners>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<license type="file">LICENSE</license>
|
||||
<icon>icon.png</icon>
|
||||
<projectUrl>https://github.com/HandyOrg/HandyControl</projectUrl>
|
||||
<description>Contains some simple and commonly used WPF controls</description>
|
||||
<releaseNotes>Changes are detailed at https://github.com/HandyOrg/HandyControl/releases</releaseNotes>
|
||||
<copyright>Copyright © HandyOrg 2018-2021</copyright>
|
||||
<tags>WPF C# Control</tags>
|
||||
<repository type="git" url="https://github.com/HandyOrg/HandyControl" commit="083639031635a4b9618842b2be589324d8676055" />
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework4.0" />
|
||||
<group targetFramework=".NETFramework4.5" />
|
||||
<group targetFramework=".NETFramework4.5.1" />
|
||||
<group targetFramework=".NETFramework4.5.2" />
|
||||
<group targetFramework=".NETFramework4.6" />
|
||||
<group targetFramework=".NETFramework4.6.1" />
|
||||
<group targetFramework=".NETFramework4.6.2" />
|
||||
<group targetFramework=".NETFramework4.7" />
|
||||
<group targetFramework=".NETFramework4.7.1" />
|
||||
<group targetFramework=".NETFramework4.7.2" />
|
||||
<group targetFramework=".NETFramework4.8" />
|
||||
<group targetFramework=".NETCoreApp3.0" />
|
||||
<group targetFramework=".NETCoreApp3.1" />
|
||||
<group targetFramework="net5.0" />
|
||||
<group targetFramework="net6.0" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="lib\net40\ja\HandyControl.resources.dll" target="lib\net40\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net45\ja\HandyControl.resources.dll" target="lib\net45\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net451\ja\HandyControl.resources.dll" target="lib\net451\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net452\ja\HandyControl.resources.dll" target="lib\net452\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net46\ja\HandyControl.resources.dll" target="lib\net46\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net461\ja\HandyControl.resources.dll" target="lib\net461\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net462\ja\HandyControl.resources.dll" target="lib\net462\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net47\ja\HandyControl.resources.dll" target="lib\net47\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net471\ja\HandyControl.resources.dll" target="lib\net471\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net472\ja\HandyControl.resources.dll" target="lib\net472\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net48\ja\HandyControl.resources.dll" target="lib\net48\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net5.0\ja\HandyControl.resources.dll" target="lib\net5.0\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\net6.0\ja\HandyControl.resources.dll" target="lib\net6.0\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.0\ja\HandyControl.resources.dll" target="lib\netcoreapp3.0\ja\HandyControl.resources.dll" />
|
||||
<file src="lib\netcoreapp3.1\ja\HandyControl.resources.dll" target="lib\netcoreapp3.1\ja\HandyControl.resources.dll" />
|
||||
<file src="icon.png" target="icon.png" />
|
||||
<file src="LICENSE" target="LICENSE" />
|
||||
</files>
|
||||
</package>
|
||||
@@ -42,7 +42,7 @@ Task("Build")
|
||||
{
|
||||
Configuration = "Release",
|
||||
Framework = framework,
|
||||
OutputDirectory = $"lib/{framework}"
|
||||
OutputDirectory = $"lib/{framework.Split('-')[0]}"
|
||||
};
|
||||
|
||||
DotNetCoreBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settings);
|
||||
|
||||
@@ -67,16 +67,16 @@
|
||||
<file src="lib\net48\HandyControl.dll" target="lib\net48\HandyControl.dll" />
|
||||
<file src="lib\net48\HandyControl.pdb" target="lib\net48\HandyControl.pdb" />
|
||||
<file src="lib\net48\HandyControl.xml" target="lib\net48\HandyControl.xml" />
|
||||
<file src="lib\net5.0-windows\ref\HandyControl.dll" target="lib\net5.0-windows\ref\HandyControl.dll" />
|
||||
<file src="lib\net5.0-windows\HandyControl.deps.json" target="lib\net5.0-windows\HandyControl.deps.json" />
|
||||
<file src="lib\net5.0-windows\HandyControl.dll" target="lib\net5.0-windows\HandyControl.dll" />
|
||||
<file src="lib\net5.0-windows\HandyControl.pdb" target="lib\net5.0-windows\HandyControl.pdb" />
|
||||
<file src="lib\net5.0-windows\HandyControl.xml" target="lib\net5.0-windows\HandyControl.xml" />
|
||||
<file src="lib\net6.0-windows\ref\HandyControl.dll" target="lib\net6.0-windows\ref\HandyControl.dll" />
|
||||
<file src="lib\net6.0-windows\HandyControl.deps.json" target="lib\net6.0-windows\HandyControl.deps.json" />
|
||||
<file src="lib\net6.0-windows\HandyControl.dll" target="lib\net6.0-windows\HandyControl.dll" />
|
||||
<file src="lib\net6.0-windows\HandyControl.pdb" target="lib\net6.0-windows\HandyControl.pdb" />
|
||||
<file src="lib\net6.0-windows\HandyControl.xml" target="lib\net6.0-windows\HandyControl.xml" />
|
||||
<file src="lib\net5.0\ref\HandyControl.dll" target="lib\net5.0\ref\HandyControl.dll" />
|
||||
<file src="lib\net5.0\HandyControl.deps.json" target="lib\net5.0\HandyControl.deps.json" />
|
||||
<file src="lib\net5.0\HandyControl.dll" target="lib\net5.0\HandyControl.dll" />
|
||||
<file src="lib\net5.0\HandyControl.pdb" target="lib\net5.0\HandyControl.pdb" />
|
||||
<file src="lib\net5.0\HandyControl.xml" target="lib\net5.0\HandyControl.xml" />
|
||||
<file src="lib\net6.0\ref\HandyControl.dll" target="lib\net6.0\ref\HandyControl.dll" />
|
||||
<file src="lib\net6.0\HandyControl.deps.json" target="lib\net6.0\HandyControl.deps.json" />
|
||||
<file src="lib\net6.0\HandyControl.dll" target="lib\net6.0\HandyControl.dll" />
|
||||
<file src="lib\net6.0\HandyControl.pdb" target="lib\net6.0\HandyControl.pdb" />
|
||||
<file src="lib\net6.0\HandyControl.xml" target="lib\net6.0\HandyControl.xml" />
|
||||
<file src="lib\netcoreapp3.0\HandyControl.deps.json" target="lib\netcoreapp3.0\HandyControl.deps.json" />
|
||||
<file src="lib\netcoreapp3.0\HandyControl.dll" target="lib\netcoreapp3.0\HandyControl.dll" />
|
||||
<file src="lib\netcoreapp3.0\HandyControl.pdb" target="lib\netcoreapp3.0\HandyControl.pdb" />
|
||||
|
||||
@@ -3,7 +3,7 @@ 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
|
||||
@@ -13,8 +13,8 @@
|
||||
<ProjectGuid>{3F0F7B9E-C150-4FAA-9274-4F6F0A96B8CA}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>HandyControl_VS2019</RootNamespace>
|
||||
<AssemblyName>HandyControl_VS2019</AssemblyName>
|
||||
<RootNamespace>HandyControl_VS_Templates</RootNamespace>
|
||||
<AssemblyName>HandyControl VS Templates</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<GeneratePkgDefFile>false</GeneratePkgDefFile>
|
||||
<UseCodebase>true</UseCodebase>
|
||||
@@ -56,10 +56,10 @@
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.206" ExcludeAssets="runtime">
|
||||
<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0.31902.203" ExcludeAssets="runtime">
|
||||
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.8.3038">
|
||||
<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0.5232">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
@@ -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: AssemblyProduct("HandyControl VS Templates")]
|
||||
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: AssemblyVersion("3.1.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.0")]
|
||||
[assembly: AssemblyVersion("3.3.0")]
|
||||
[assembly: AssemblyFileVersion("3.3.0")]
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||
<Metadata>
|
||||
<Identity Id="1B6729DF-3360-48C4-86A9-68A0591FBBEB" Version="3.1.0" Language="en-US" Publisher="HandyOrg" />
|
||||
<DisplayName>HandyControl for VS2019</DisplayName>
|
||||
<Identity Id="1B6729DF-3360-48C4-86A9-68A0591FBBEB" Version="3.3.0" Language="en-US" Publisher="HandyOrg" />
|
||||
<DisplayName>HandyControl VS Templates</DisplayName>
|
||||
<Description xml:space="preserve">This VSIX Project will help people initialize a HandyControl project.</Description>
|
||||
<MoreInfo>https://handyorg.github.io/handycontrol</MoreInfo>
|
||||
<License>License.txt</License>
|
||||
@@ -13,15 +13,21 @@
|
||||
<Tags>WPF C# Control</Tags>
|
||||
</Metadata>
|
||||
<Installation>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0, 17.0)" />
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Enterprise" Version="[16.0, 17.0)" />
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[16.0, 17.0)" />
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[16.0, 18.0)">
|
||||
<ProductArchitecture>x86</ProductArchitecture>
|
||||
</InstallationTarget>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Enterprise" Version="[16.0, 18.0)">
|
||||
<ProductArchitecture>x86</ProductArchitecture>
|
||||
</InstallationTarget>
|
||||
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[16.0, 18.0)">
|
||||
<ProductArchitecture>x86</ProductArchitecture>
|
||||
</InstallationTarget>
|
||||
</Installation>
|
||||
<Dependencies>
|
||||
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.0,)" />
|
||||
</Dependencies>
|
||||
<Prerequisites>
|
||||
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[16.0,17.0)" DisplayName="Visual Studio core editor" />
|
||||
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[16.0, 18.0)" DisplayName="Visual Studio core editor" />
|
||||
</Prerequisites>
|
||||
<Assets>
|
||||
<Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="Project" d:ProjectName="WpfApp" d:TargetPath="|WpfApp;TemplateProjectOutputGroup|" Path="ProjectTemplates" d:VsixSubPath="ProjectTemplates" />
|
||||
@@ -33,7 +33,7 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="HandyControl" Version="3.1" />
|
||||
<PackageReference Include="HandyControl" Version="3.3" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
@@ -1,14 +1,14 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("HandyControl_VS2019_WpfCoreApp")]
|
||||
[assembly: AssemblyTitle("HandyControl VS Templates WpfApp")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("HandyControl_VS2019_WpfCoreApp")]
|
||||
[assembly: AssemblyProduct("HandyControl VS Templates WpfApp")]
|
||||
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: AssemblyVersion("3.1.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.0")]
|
||||
[assembly: AssemblyVersion("3.3.0")]
|
||||
[assembly: AssemblyFileVersion("3.3.0")]
|
||||
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
@@ -11,7 +11,7 @@
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="HandyControl" Version="3.1" />
|
||||
<PackageReference Include="HandyControl" Version="3.3" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,14 +1,14 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle("HandyControl_VS2019_WpfApp")]
|
||||
[assembly: AssemblyTitle("HandyControl VS Templates WpfCoreApp")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("HandyControl_VS2019_WpfApp")]
|
||||
[assembly: AssemblyProduct("HandyControl VS Templates WpfCoreApp")]
|
||||
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2021")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
[assembly: ComVisible(false)]
|
||||
[assembly: AssemblyVersion("3.1.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.0")]
|
||||
[assembly: AssemblyVersion("3.3.0")]
|
||||
[assembly: AssemblyFileVersion("3.3.0")]
|
||||
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
@@ -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
|
||||
@@ -30,16 +30,31 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
||||
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
|
||||
@@ -93,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}
|
||||
|
||||
@@ -180,6 +180,9 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\fr.png">
|
||||
<Link>Resources\Img\Flag\fr.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ja.png">
|
||||
<Link>Resources\Img\Flag\ja.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ko-KR.png">
|
||||
<Link>Resources\Img\Flag\ko-KR.png</Link>
|
||||
</Resource>
|
||||
@@ -533,6 +536,9 @@
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fr.resx">
|
||||
<Link>Properties\Langs\Lang.fr.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ja.resx">
|
||||
<Link>Properties\Langs\Lang.ja.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ko-KR.resx">
|
||||
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
|
||||
</EmbeddedResource>
|
||||
@@ -581,6 +587,7 @@
|
||||
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
|
||||
@@ -591,6 +598,7 @@
|
||||
move es Langs
|
||||
move fa Langs
|
||||
move fr Langs
|
||||
move ja Langs
|
||||
move ko-KR Langs
|
||||
move pt-BR Langs
|
||||
move pl Langs
|
||||
|
||||
@@ -50,6 +50,9 @@
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.fr.resx">
|
||||
<Link>Properties\Langs\Lang.fr.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ja.resx">
|
||||
<Link>Properties\Langs\Lang.ja.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ko-KR.resx">
|
||||
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
|
||||
</EmbeddedResource>
|
||||
@@ -80,6 +83,9 @@
|
||||
</ItemGroup>
|
||||
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems" Label="Shared" />
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\dropper.cur">
|
||||
<Link>Resources\dropper.cur</Link>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Border Grid.ColumnSpan="2" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"/>
|
||||
<Path Grid.Column="1" x:Name="arrow" Data="{StaticResource DownGeometry}" Stretch="Uniform" Fill="{TemplateBinding BorderBrush}" HorizontalAlignment="Center" Margin="7" VerticalAlignment="Center"/>
|
||||
<Path Grid.Column="1" x:Name="arrow" Data="{StaticResource DownGeometry}" Stretch="Uniform" Fill="{TemplateBinding BorderBrush}" HorizontalAlignment="Center" Width="16" VerticalAlignment="Center"/>
|
||||
<Border Margin="1" Grid.Column="0" Visibility="{Binding Text,RelativeSource={RelativeSource AncestorType=ComboBox},Converter={StaticResource String2VisibilityReConverter}}">
|
||||
<ContentPresenter Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
@@ -200,7 +200,7 @@
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="0,7,6,7">
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
|
||||
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||||
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||
</DockPanel>
|
||||
@@ -411,7 +411,7 @@
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="0,7,6,7">
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
|
||||
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||||
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||
</DockPanel>
|
||||
@@ -524,6 +524,7 @@
|
||||
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
|
||||
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
|
||||
<Setter Property="Padding" Value="{StaticResource DefaultInputPadding}"/>
|
||||
<Setter Property="hc:TitleElement.MarginOnTheLeft" Value="0,8,6,8"/>
|
||||
<Setter Property="Template" Value="{StaticResource ComboBoxTemplate}"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
|
||||
@@ -611,7 +612,7 @@
|
||||
<Border Grid.Row="1" Grid.Column="0" Margin="1,0">
|
||||
<ContentPresenter Margin="{TemplateBinding Padding}" x:Name="contentPresenter" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Content="{TemplateBinding SelectionBoxItem}" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="false" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<Button Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="1" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
<Button Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="1" Style="{StaticResource ButtonIcon}" Padding="0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
@@ -691,7 +692,7 @@
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="Auto" MinWidth="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="0,7,6,7">
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
|
||||
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||||
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||
</DockPanel>
|
||||
@@ -716,7 +717,7 @@
|
||||
<Border Grid.Column="1" Margin="1,0">
|
||||
<ContentPresenter Margin="{TemplateBinding Padding}" x:Name="contentPresenter" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Content="{TemplateBinding SelectionBoxItem}" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="false" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
@@ -824,7 +825,7 @@
|
||||
<Border Grid.Row="1" Grid.Column="0" x:Name="border" Margin="-1,1">
|
||||
<TextBox x:Name="PART_EditableTextBox" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxEditableTextBox}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<Button Grid.Column="1" Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
<Button Grid.Column="1" Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Style="{StaticResource ButtonIcon}" Padding="0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
@@ -965,7 +966,7 @@
|
||||
<Border Grid.Row="1" Grid.Column="0" x:Name="border" Margin="-1,1">
|
||||
<TextBox x:Name="PART_EditableTextBox" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxEditableTextBox}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<Button Grid.Column="1" Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
<Button Grid.Column="1" Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Style="{StaticResource ButtonIcon}" Padding="0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
@@ -1068,7 +1069,7 @@
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="Auto" MinWidth="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="0,7,6,7">
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
|
||||
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||||
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||
</DockPanel>
|
||||
@@ -1093,7 +1094,7 @@
|
||||
<Border Grid.Column="1" x:Name="border" Background="Transparent" Margin="-1,1">
|
||||
<TextBox x:Name="PART_EditableTextBox" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxEditableTextBox}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
@@ -1190,7 +1191,7 @@
|
||||
<ColumnDefinition/>
|
||||
<ColumnDefinition Width="Auto" MinWidth="30"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="0,7,6,7">
|
||||
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
|
||||
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||||
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
|
||||
</DockPanel>
|
||||
@@ -1231,7 +1232,7 @@
|
||||
<Border Grid.Column="1" x:Name="border" Background="Transparent" Margin="-1,1">
|
||||
<TextBox x:Name="PART_EditableTextBox" Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxEditableTextBox}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
</Border>
|
||||
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="HasItems" Value="false">
|
||||
|
||||
@@ -99,10 +99,10 @@
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="TreeView">
|
||||
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
|
||||
<Border x:Name="Bd" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
|
||||
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
|
||||
<hc:ToggleBlock.CheckedContent>
|
||||
<hc:ScrollViewer x:Name="_tv_scrollviewer_" IsInertiaEnabled="{Binding Path=(hc:ScrollViewer.IsInertiaEnabled),RelativeSource={RelativeSource TemplatedParent}}" Template="{StaticResource ScrollViewerBaseControlTemplate}" Background="{TemplateBinding Background}" CanContentScroll="false" Focusable="false" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
|
||||
<hc:ScrollViewer IsInertiaEnabled="{Binding Path=(hc:ScrollViewer.IsInertiaEnabled),RelativeSource={RelativeSource TemplatedParent}}" CanContentScroll="false" Focusable="false" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
|
||||
<ItemsPresenter/>
|
||||
</hc:ScrollViewer>
|
||||
</hc:ToggleBlock.CheckedContent>
|
||||
|
||||
@@ -182,6 +182,9 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\fr.png">
|
||||
<Link>Resources\Img\Flag\fr.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ja.png">
|
||||
<Link>Resources\Img\Flag\ja.png</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ko-KR.png">
|
||||
<Link>Resources\Img\Flag\ko-KR.png</Link>
|
||||
</Resource>
|
||||
@@ -535,6 +538,9 @@
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fr.resx">
|
||||
<Link>Properties\Langs\Lang.fr.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ja.resx">
|
||||
<Link>Properties\Langs\Lang.ja.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ko-KR.resx">
|
||||
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
|
||||
</EmbeddedResource>
|
||||
@@ -583,6 +589,7 @@
|
||||
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
|
||||
@@ -593,6 +600,7 @@
|
||||
move es Langs
|
||||
move fa Langs
|
||||
move fr Langs
|
||||
move ja Langs
|
||||
move ko-KR Langs
|
||||
move pt-BR Langs
|
||||
move pl Langs
|
||||
|
||||
@@ -51,6 +51,9 @@
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.fr.resx">
|
||||
<Link>Properties\Langs\Lang.fr.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ja.resx">
|
||||
<Link>Properties\Langs\Lang.ja.resx</Link>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ko-KR.resx">
|
||||
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
|
||||
</EmbeddedResource>
|
||||
@@ -80,6 +83,9 @@
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems" Label="Shared" />
|
||||
<Import Project="..\..\Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems" Label="Shared" />
|
||||
<ItemGroup>
|
||||
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\dropper.cur">
|
||||
<Link>Resources\dropper.cur</Link>
|
||||
|
||||
@@ -854,8 +854,8 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Basic\InteractiveDialogViewModel.cs">
|
||||
<Link>ViewModel\InteractiveDialogViewModel.cs</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Common\ComboBoxDemoViewModel.cs">
|
||||
<Link>ViewModel\ComboBoxDemoViewModel.cs</Link>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Common\InputElementDemoViewModel.cs">
|
||||
<Link>ViewModel\InputElementDemoViewModel.cs</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\AutoCompleteTextBoxDemoViewModel.cs">
|
||||
<Link>ViewModel\AutoCompleteTextBoxDemoViewModel.cs</Link>
|
||||
@@ -887,9 +887,6 @@
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\PaginationDemoViewModel.cs">
|
||||
<Link>ViewModel\PaginationDemoViewModel.cs</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\SearchBarDemoViewModel.cs">
|
||||
<Link>ViewModel\SearchBarDemoViewModel.cs</Link>
|
||||
</Resource>
|
||||
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\SideMenuDemoViewModel.cs">
|
||||
<Link>ViewModel\SideMenuDemoViewModel.cs</Link>
|
||||
</Resource>
|
||||
|
||||
@@ -15,124 +15,123 @@ using HandyControlDemo.Data;
|
||||
using HandyControlDemo.Properties.Langs;
|
||||
using HandyControlDemo.Tools;
|
||||
|
||||
namespace HandyControlDemo
|
||||
namespace HandyControlDemo;
|
||||
|
||||
public partial class App
|
||||
{
|
||||
public partial class App
|
||||
{
|
||||
#pragma warning disable IDE0052
|
||||
[SuppressMessage("ReSharper", "NotAccessedField.Local")]
|
||||
private static Mutex AppMutex;
|
||||
[SuppressMessage("ReSharper", "NotAccessedField.Local")]
|
||||
private static Mutex AppMutex;
|
||||
#pragma warning restore IDE0052
|
||||
|
||||
public App()
|
||||
{
|
||||
public App()
|
||||
{
|
||||
#if !NET40
|
||||
var cachePath = $"{AppDomain.CurrentDomain.BaseDirectory}Cache";
|
||||
if (!Directory.Exists(cachePath))
|
||||
{
|
||||
Directory.CreateDirectory(cachePath);
|
||||
}
|
||||
ProfileOptimization.SetProfileRoot(cachePath);
|
||||
ProfileOptimization.StartProfile("Profile");
|
||||
#endif
|
||||
}
|
||||
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
var cachePath = $"{AppDomain.CurrentDomain.BaseDirectory}Cache";
|
||||
if (!Directory.Exists(cachePath))
|
||||
{
|
||||
AppMutex = new Mutex(true, "HandyControlDemo", out var createdNew);
|
||||
Directory.CreateDirectory(cachePath);
|
||||
}
|
||||
ProfileOptimization.SetProfileRoot(cachePath);
|
||||
ProfileOptimization.StartProfile("Profile");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!createdNew)
|
||||
protected override void OnStartup(StartupEventArgs e)
|
||||
{
|
||||
AppMutex = new Mutex(true, "HandyControlDemo", out var createdNew);
|
||||
|
||||
if (!createdNew)
|
||||
{
|
||||
var current = Process.GetCurrentProcess();
|
||||
|
||||
foreach (var process in Process.GetProcessesByName(current.ProcessName))
|
||||
{
|
||||
var current = Process.GetCurrentProcess();
|
||||
|
||||
foreach (var process in Process.GetProcessesByName(current.ProcessName))
|
||||
if (process.Id != current.Id)
|
||||
{
|
||||
if (process.Id != current.Id)
|
||||
{
|
||||
Win32Helper.SetForegroundWindow(process.MainWindowHandle);
|
||||
break;
|
||||
}
|
||||
Win32Helper.SetForegroundWindow(process.MainWindowHandle);
|
||||
break;
|
||||
}
|
||||
Shutdown();
|
||||
}
|
||||
else
|
||||
Shutdown();
|
||||
}
|
||||
else
|
||||
{
|
||||
var splashScreen = new SplashScreen("Resources/Img/Cover.png");
|
||||
splashScreen.Show(true);
|
||||
|
||||
base.OnStartup(e);
|
||||
|
||||
UpdateRegistry();
|
||||
|
||||
ShutdownMode = ShutdownMode.OnMainWindowClose;
|
||||
GlobalData.Init();
|
||||
ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
|
||||
LangProvider.Culture = new CultureInfo(GlobalData.Config.Lang);
|
||||
|
||||
if (GlobalData.Config.Skin != SkinType.Default)
|
||||
{
|
||||
var splashScreen = new SplashScreen("Resources/Img/Cover.png");
|
||||
splashScreen.Show(true);
|
||||
UpdateSkin(GlobalData.Config.Skin);
|
||||
}
|
||||
|
||||
base.OnStartup(e);
|
||||
|
||||
UpdateRegistry();
|
||||
|
||||
ShutdownMode = ShutdownMode.OnMainWindowClose;
|
||||
GlobalData.Init();
|
||||
ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
|
||||
LangProvider.Culture = new CultureInfo(GlobalData.Config.Lang);
|
||||
|
||||
if (GlobalData.Config.Skin != SkinType.Default)
|
||||
{
|
||||
UpdateSkin(GlobalData.Config.Skin);
|
||||
}
|
||||
|
||||
ConfigHelper.Instance.SetWindowDefaultStyle();
|
||||
ConfigHelper.Instance.SetNavigationWindowDefaultStyle();
|
||||
ConfigHelper.Instance.SetWindowDefaultStyle();
|
||||
ConfigHelper.Instance.SetNavigationWindowDefaultStyle();
|
||||
|
||||
#if NET40
|
||||
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
|
||||
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
|
||||
#else
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnExit(ExitEventArgs e)
|
||||
protected override void OnExit(ExitEventArgs e)
|
||||
{
|
||||
base.OnExit(e);
|
||||
GlobalData.Save();
|
||||
}
|
||||
|
||||
internal void UpdateSkin(SkinType skin)
|
||||
{
|
||||
var skins0 = Resources.MergedDictionaries[0];
|
||||
skins0.MergedDictionaries.Clear();
|
||||
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(skin));
|
||||
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skin));
|
||||
|
||||
var skins1 = Resources.MergedDictionaries[1];
|
||||
skins1.MergedDictionaries.Clear();
|
||||
skins1.MergedDictionaries.Add(new ResourceDictionary
|
||||
{
|
||||
base.OnExit(e);
|
||||
GlobalData.Save();
|
||||
}
|
||||
|
||||
internal void UpdateSkin(SkinType skin)
|
||||
Source = new Uri("pack://application:,,,/HandyControl;component/Themes/Theme.xaml")
|
||||
});
|
||||
skins1.MergedDictionaries.Add(new ResourceDictionary
|
||||
{
|
||||
var skins0 = Resources.MergedDictionaries[0];
|
||||
skins0.MergedDictionaries.Clear();
|
||||
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(skin));
|
||||
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skin));
|
||||
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
|
||||
});
|
||||
|
||||
var skins1 = Resources.MergedDictionaries[1];
|
||||
skins1.MergedDictionaries.Clear();
|
||||
skins1.MergedDictionaries.Add(new ResourceDictionary
|
||||
{
|
||||
Source = new Uri("pack://application:,,,/HandyControl;component/Themes/Theme.xaml")
|
||||
});
|
||||
skins1.MergedDictionaries.Add(new ResourceDictionary
|
||||
{
|
||||
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
|
||||
});
|
||||
Current.MainWindow?.OnApplyTemplate();
|
||||
}
|
||||
|
||||
Current.MainWindow?.OnApplyTemplate();
|
||||
}
|
||||
|
||||
private void UpdateRegistry()
|
||||
private void UpdateRegistry()
|
||||
{
|
||||
var processModule = Process.GetCurrentProcess().MainModule;
|
||||
if (processModule != null)
|
||||
{
|
||||
var processModule = Process.GetCurrentProcess().MainModule;
|
||||
if (processModule != null)
|
||||
var registryFilePath = $"{Path.GetDirectoryName(processModule.FileName)}\\Registry.reg";
|
||||
if (!File.Exists(registryFilePath))
|
||||
{
|
||||
var registryFilePath = $"{Path.GetDirectoryName(processModule.FileName)}\\Registry.reg";
|
||||
if (!File.Exists(registryFilePath))
|
||||
var streamResourceInfo = GetResourceStream(new Uri("pack://application:,,,/Resources/Registry.txt"));
|
||||
if (streamResourceInfo != null)
|
||||
{
|
||||
var streamResourceInfo = GetResourceStream(new Uri("pack://application:,,,/Resources/Registry.txt"));
|
||||
if (streamResourceInfo != null)
|
||||
using var reader = new StreamReader(streamResourceInfo.Stream);
|
||||
var registryStr = reader.ReadToEnd();
|
||||
var newRegistryStr = registryStr.Replace("#", processModule.FileName.Replace("\\", "\\\\"));
|
||||
File.WriteAllText(registryFilePath, newRegistryStr);
|
||||
Process.Start(new ProcessStartInfo("cmd", $"/c {registryFilePath}")
|
||||
{
|
||||
using var reader = new StreamReader(streamResourceInfo.Stream);
|
||||
var registryStr = reader.ReadToEnd();
|
||||
var newRegistryStr = registryStr.Replace("#", processModule.FileName.Replace("\\", "\\\\"));
|
||||
File.WriteAllText(registryFilePath, newRegistryStr);
|
||||
Process.Start(new ProcessStartInfo("cmd", $"/c {registryFilePath}")
|
||||
{
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
});
|
||||
}
|
||||
UseShellExecute = false,
|
||||
CreateNoWindow = true
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
using System;
|
||||
using HandyControl.Data;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
internal class AppConfig
|
||||
{
|
||||
internal class AppConfig
|
||||
{
|
||||
public static readonly string SavePath = $"{AppDomain.CurrentDomain.BaseDirectory}AppConfig.json";
|
||||
public static readonly string SavePath = $"{AppDomain.CurrentDomain.BaseDirectory}AppConfig.json";
|
||||
|
||||
public string Lang { get; set; } = "zh-cn";
|
||||
public string Lang { get; set; } = "zh-cn";
|
||||
|
||||
public SkinType Skin { get; set; }
|
||||
}
|
||||
public SkinType Skin { get; set; }
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public enum DemoType
|
||||
{
|
||||
public enum DemoType
|
||||
{
|
||||
Type1 = 1,
|
||||
Type2,
|
||||
Type3,
|
||||
Type4,
|
||||
Type5,
|
||||
Type6
|
||||
}
|
||||
Type1 = 1,
|
||||
Type2,
|
||||
Type3,
|
||||
Type4,
|
||||
Type5,
|
||||
Type6
|
||||
}
|
||||
@@ -1,38 +1,37 @@
|
||||
using System.IO;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
internal class GlobalData
|
||||
{
|
||||
internal class GlobalData
|
||||
public static void Init()
|
||||
{
|
||||
public static void Init()
|
||||
if (File.Exists(AppConfig.SavePath))
|
||||
{
|
||||
if (File.Exists(AppConfig.SavePath))
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
var json = File.ReadAllText(AppConfig.SavePath);
|
||||
Config = (string.IsNullOrEmpty(json) ? new AppConfig() : JsonConvert.DeserializeObject<AppConfig>(json)) ?? new AppConfig();
|
||||
}
|
||||
catch
|
||||
{
|
||||
Config = new AppConfig();
|
||||
}
|
||||
var json = File.ReadAllText(AppConfig.SavePath);
|
||||
Config = (string.IsNullOrEmpty(json) ? new AppConfig() : JsonConvert.DeserializeObject<AppConfig>(json)) ?? new AppConfig();
|
||||
}
|
||||
else
|
||||
catch
|
||||
{
|
||||
Config = new AppConfig();
|
||||
}
|
||||
}
|
||||
|
||||
public static void Save()
|
||||
else
|
||||
{
|
||||
var json = JsonConvert.SerializeObject(Config);
|
||||
File.WriteAllText(AppConfig.SavePath, json);
|
||||
Config = new AppConfig();
|
||||
}
|
||||
|
||||
public static AppConfig Config { get; set; }
|
||||
|
||||
public static bool NotifyIconIsShow { get; set; }
|
||||
}
|
||||
|
||||
public static void Save()
|
||||
{
|
||||
var json = JsonConvert.SerializeObject(Config);
|
||||
File.WriteAllText(AppConfig.SavePath, json);
|
||||
}
|
||||
|
||||
public static AppConfig Config { get; set; }
|
||||
|
||||
public static bool NotifyIconIsShow { get; set; }
|
||||
}
|
||||
@@ -1,58 +1,57 @@
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class MessageToken
|
||||
{
|
||||
public class MessageToken
|
||||
{
|
||||
public static readonly string LoadShowContent = nameof(LoadShowContent);
|
||||
public static readonly string LoadShowContent = nameof(LoadShowContent);
|
||||
|
||||
public static readonly string FullSwitch = nameof(FullSwitch);
|
||||
public static readonly string FullSwitch = nameof(FullSwitch);
|
||||
|
||||
public static readonly string ContributorsView = nameof(ContributorsView);
|
||||
public static readonly string ContributorsView = nameof(ContributorsView);
|
||||
|
||||
public static readonly string ClearLeftSelected = nameof(ClearLeftSelected);
|
||||
public static readonly string ClearLeftSelected = nameof(ClearLeftSelected);
|
||||
|
||||
public static readonly string SendChatMessage = nameof(SendChatMessage);
|
||||
public static readonly string SendChatMessage = nameof(SendChatMessage);
|
||||
|
||||
public static readonly string GrowlDemoPanel = nameof(GrowlDemoPanel);
|
||||
public static readonly string GrowlDemoPanel = nameof(GrowlDemoPanel);
|
||||
|
||||
public static readonly string DialogDemoWindow = nameof(DialogDemoWindow);
|
||||
public static readonly string DialogDemoWindow = nameof(DialogDemoWindow);
|
||||
|
||||
public static readonly string MainWindow = nameof(MainWindow);
|
||||
public static readonly string MainWindow = nameof(MainWindow);
|
||||
|
||||
public static readonly string PracticalDemo = nameof(PracticalDemo);
|
||||
public static readonly string PracticalDemo = nameof(PracticalDemo);
|
||||
|
||||
public static readonly string ProjectsView = nameof(ProjectsView);
|
||||
public static readonly string ProjectsView = nameof(ProjectsView);
|
||||
|
||||
public static readonly string BlogsView = nameof(BlogsView);
|
||||
public static readonly string BlogsView = nameof(BlogsView);
|
||||
|
||||
public static readonly string WebsitesView = nameof(WebsitesView);
|
||||
public static readonly string WebsitesView = nameof(WebsitesView);
|
||||
|
||||
public static readonly string NotifyIconDemo = nameof(NotifyIconDemo);
|
||||
public static readonly string NotifyIconDemo = nameof(NotifyIconDemo);
|
||||
|
||||
public static readonly string NotifyIconContextDemo = nameof(NotifyIconContextDemo);
|
||||
public static readonly string NotifyIconContextDemo = nameof(NotifyIconContextDemo);
|
||||
|
||||
public static readonly string CommonWindow = nameof(CommonWindow);
|
||||
public static readonly string CommonWindow = nameof(CommonWindow);
|
||||
|
||||
public static readonly string BlurWindow = nameof(BlurWindow);
|
||||
public static readonly string BlurWindow = nameof(BlurWindow);
|
||||
|
||||
public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow);
|
||||
public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow);
|
||||
|
||||
public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
|
||||
public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
|
||||
|
||||
public static readonly string QQGroupView = nameof(QQGroupView);
|
||||
public static readonly string QQGroupView = nameof(QQGroupView);
|
||||
|
||||
public static readonly string GlowWindow = nameof(GlowWindow);
|
||||
public static readonly string GlowWindow = nameof(GlowWindow);
|
||||
|
||||
public static readonly string NativeCommonWindow = nameof(NativeCommonWindow);
|
||||
public static readonly string NativeCommonWindow = nameof(NativeCommonWindow);
|
||||
|
||||
public static readonly string NavigationWindow = nameof(NavigationWindow);
|
||||
public static readonly string NavigationWindow = nameof(NavigationWindow);
|
||||
|
||||
public static readonly string TouchDragMoveWindow = nameof(TouchDragMoveWindow);
|
||||
public static readonly string TouchDragMoveWindow = nameof(TouchDragMoveWindow);
|
||||
|
||||
public static readonly string DialogContainer = nameof(DialogContainer);
|
||||
public static readonly string DialogContainer = nameof(DialogContainer);
|
||||
|
||||
public static readonly string LangUpdated = nameof(LangUpdated);
|
||||
public static readonly string LangUpdated = nameof(LangUpdated);
|
||||
|
||||
public static readonly string SkinUpdated = nameof(SkinUpdated);
|
||||
public static readonly string SkinUpdated = nameof(SkinUpdated);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class AvatarModel
|
||||
{
|
||||
public class AvatarModel
|
||||
{
|
||||
public string DisplayName { get; set; }
|
||||
public string DisplayName { get; set; }
|
||||
|
||||
public string Link { get; set; }
|
||||
public string Link { get; set; }
|
||||
|
||||
public string AvatarUri { get; set; }
|
||||
}
|
||||
public string AvatarUri { get; set; }
|
||||
}
|
||||
@@ -1,11 +1,10 @@
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class CardModel
|
||||
{
|
||||
public class CardModel
|
||||
{
|
||||
public string Header { get; set; }
|
||||
public string Header { get; set; }
|
||||
|
||||
public string Content { get; set; }
|
||||
public string Content { get; set; }
|
||||
|
||||
public string Footer { get; set; }
|
||||
}
|
||||
public string Footer { get; set; }
|
||||
}
|
||||
@@ -1,17 +1,16 @@
|
||||
using HandyControl.Data;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public struct ChatInfoModel
|
||||
{
|
||||
public struct ChatInfoModel
|
||||
{
|
||||
public object Message { get; set; }
|
||||
public object Message { get; set; }
|
||||
|
||||
public string SenderId { get; set; }
|
||||
public string SenderId { get; set; }
|
||||
|
||||
public ChatRoleType Role { get; set; }
|
||||
public ChatRoleType Role { get; set; }
|
||||
|
||||
public ChatMessageType Type { get; set; }
|
||||
public ChatMessageType Type { get; set; }
|
||||
|
||||
public object Enclosure { get; set; }
|
||||
}
|
||||
public object Enclosure { get; set; }
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
namespace HandyControlDemo.Data
|
||||
{
|
||||
public class CoverViewDemoModel
|
||||
{
|
||||
public string ImgPath { get; set; }
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public string BackgroundToken { get; set; }
|
||||
}
|
||||
public class CoverViewDemoModel
|
||||
{
|
||||
public string ImgPath { get; set; }
|
||||
|
||||
public string BackgroundToken { get; set; }
|
||||
}
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class DemoDataModel
|
||||
{
|
||||
public class DemoDataModel
|
||||
{
|
||||
public int Index { get; set; }
|
||||
public int Index { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public bool IsSelected { get; set; }
|
||||
public bool IsSelected { get; set; }
|
||||
|
||||
public string Remark { get; set; }
|
||||
public string Remark { get; set; }
|
||||
|
||||
public DemoType Type { get; set; }
|
||||
public DemoType Type { get; set; }
|
||||
|
||||
public string ImgPath { get; set; }
|
||||
public string ImgPath { get; set; }
|
||||
|
||||
public List<DemoDataModel> DataList { get; set; }
|
||||
}
|
||||
public List<DemoDataModel> DataList { get; set; }
|
||||
}
|
||||
@@ -1,38 +1,37 @@
|
||||
using System.Collections.Generic;
|
||||
using GalaSoft.MvvmLight;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class DemoInfoModel : ViewModelBase
|
||||
{
|
||||
public class DemoInfoModel : ViewModelBase
|
||||
public string Key { get; set; }
|
||||
|
||||
private string _title;
|
||||
|
||||
public string Title
|
||||
{
|
||||
public string Key { get; set; }
|
||||
|
||||
private string _title;
|
||||
|
||||
public string Title
|
||||
{
|
||||
get => _title;
|
||||
get => _title;
|
||||
#if NET40
|
||||
set => Set(nameof(Title), ref _title, value);
|
||||
#else
|
||||
set => Set(ref _title, value);
|
||||
set => Set(ref _title, value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
private int _selectedIndex;
|
||||
private int _selectedIndex;
|
||||
|
||||
public int SelectedIndex
|
||||
{
|
||||
get => _selectedIndex;
|
||||
public int SelectedIndex
|
||||
{
|
||||
get => _selectedIndex;
|
||||
#if NET40
|
||||
set => Set(nameof(SelectedIndex), ref _selectedIndex, value);
|
||||
#else
|
||||
set => Set(ref _selectedIndex, value);
|
||||
set => Set(ref _selectedIndex, value);
|
||||
#endif
|
||||
}
|
||||
|
||||
public bool IsGroupEnabled { get; set; }
|
||||
|
||||
public IList<DemoItemModel> DemoItemList { get; set; }
|
||||
}
|
||||
|
||||
public bool IsGroupEnabled { get; set; }
|
||||
|
||||
public IList<DemoItemModel> DemoItemList { get; set; }
|
||||
}
|
||||
@@ -1,40 +1,39 @@
|
||||
using GalaSoft.MvvmLight;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class DemoItemModel : ObservableObject
|
||||
{
|
||||
public class DemoItemModel : ObservableObject
|
||||
private bool _isVisible = true;
|
||||
private string _queriesText = string.Empty;
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public string GroupName { get; set; }
|
||||
|
||||
public string TargetCtlName { get; set; }
|
||||
|
||||
public string ImageName { get; set; }
|
||||
|
||||
public bool IsNew { get; set; }
|
||||
|
||||
public string QueriesText
|
||||
{
|
||||
private bool _isVisible = true;
|
||||
private string _queriesText = string.Empty;
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public string GroupName { get; set; }
|
||||
|
||||
public string TargetCtlName { get; set; }
|
||||
|
||||
public string ImageName { get; set; }
|
||||
|
||||
public bool IsNew { get; set; }
|
||||
|
||||
public string QueriesText
|
||||
{
|
||||
get => _queriesText;
|
||||
get => _queriesText;
|
||||
#if NET40
|
||||
set => Set(nameof(QueriesText), ref _queriesText, value);
|
||||
set => Set(nameof(QueriesText), ref _queriesText, value);
|
||||
#else
|
||||
set => Set(ref _queriesText, value);
|
||||
set => Set(ref _queriesText, value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsVisible
|
||||
{
|
||||
get => _isVisible;
|
||||
public bool IsVisible
|
||||
{
|
||||
get => _isVisible;
|
||||
#if NET40
|
||||
set => Set(nameof(IsVisible), ref _isVisible, value);
|
||||
set => Set(nameof(IsVisible), ref _isVisible, value);
|
||||
#else
|
||||
set => Set(ref _isVisible, value);
|
||||
set => Set(ref _isVisible, value);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,12 @@
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class GeometryItemModel
|
||||
{
|
||||
public class GeometryItemModel
|
||||
{
|
||||
public Geometry Data { get; set; }
|
||||
public Geometry Data { get; set; }
|
||||
|
||||
public string Key { get; set; }
|
||||
public string Key { get; set; }
|
||||
|
||||
public bool Line { get; set; }
|
||||
}
|
||||
public bool Line { get; set; }
|
||||
}
|
||||
@@ -2,32 +2,31 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace HandyControlDemo.Data
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public class PropertyGridDemoModel
|
||||
{
|
||||
public class PropertyGridDemoModel
|
||||
{
|
||||
[Category("Category1")]
|
||||
public string String { get; set; }
|
||||
[Category("Category1")]
|
||||
public string String { get; set; }
|
||||
|
||||
[Category("Category2")]
|
||||
public int Integer { get; set; }
|
||||
[Category("Category2")]
|
||||
public int Integer { get; set; }
|
||||
|
||||
[Category("Category2")]
|
||||
public bool Boolean { get; set; }
|
||||
[Category("Category2")]
|
||||
public bool Boolean { get; set; }
|
||||
|
||||
[Category("Category1")]
|
||||
public Gender Enum { get; set; }
|
||||
[Category("Category1")]
|
||||
public Gender Enum { get; set; }
|
||||
|
||||
public HorizontalAlignment HorizontalAlignment { get; set; }
|
||||
public HorizontalAlignment HorizontalAlignment { get; set; }
|
||||
|
||||
public VerticalAlignment VerticalAlignment { get; set; }
|
||||
public VerticalAlignment VerticalAlignment { get; set; }
|
||||
|
||||
public ImageSource ImageSource { get; set; }
|
||||
}
|
||||
public ImageSource ImageSource { get; set; }
|
||||
}
|
||||
|
||||
public enum Gender
|
||||
{
|
||||
Male,
|
||||
Female
|
||||
}
|
||||
public enum Gender
|
||||
{
|
||||
Male,
|
||||
Female
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
namespace HandyControlDemo.Data
|
||||
{
|
||||
public class StepBarDemoModel
|
||||
{
|
||||
public string Header { get; set; }
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public string Content { get; set; }
|
||||
}
|
||||
public class StepBarDemoModel
|
||||
{
|
||||
public string Header { get; set; }
|
||||
|
||||
public string Content { get; set; }
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
namespace HandyControlDemo.Data
|
||||
{
|
||||
public class TabControlDemoModel
|
||||
{
|
||||
public string Header { get; set; }
|
||||
namespace HandyControlDemo.Data;
|
||||
|
||||
public string BackgroundToken { get; set; }
|
||||
}
|
||||
public class TabControlDemoModel
|
||||
{
|
||||
public string Header { get; set; }
|
||||
|
||||
public string BackgroundToken { get; set; }
|
||||
}
|
||||
@@ -41,6 +41,7 @@
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\VersionHelper.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\Win32Helper.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Tools\HighlightingProvider.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)Tools\ValidationRule\NumericUpDownDemoRule.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Basic\Avatar.xaml.cs">
|
||||
<DependentUpon>Avatar.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -410,7 +411,6 @@
|
||||
</Compile>
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Basic\ChatBoxViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Basic\InteractiveDialogViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Common\ComboBoxDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\AutoCompleteTextBoxDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\BadgeDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\CardDemoViewModel.cs" />
|
||||
@@ -421,13 +421,13 @@
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\NotificationDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\NotifyIconDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\PaginationDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SearchBarDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SideMenuDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SplitButtonDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SpriteDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\StepBarDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\TabControlDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\TagDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Common\InputElementDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\WindowDemoViewModel.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\DemoViewModelBase`1.cs" />
|
||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Main\ItemsDisplayViewModel.cs" />
|
||||
|
||||
@@ -10,45 +10,44 @@ using HandyControlDemo.Tools;
|
||||
using HandyControlDemo.UserControl;
|
||||
using HandyControlDemo.ViewModel;
|
||||
|
||||
namespace HandyControlDemo
|
||||
namespace HandyControlDemo;
|
||||
|
||||
public partial class MainWindow
|
||||
{
|
||||
public partial class MainWindow
|
||||
public MainWindow() => InitializeComponent();
|
||||
|
||||
protected override void OnContentRendered(EventArgs e)
|
||||
{
|
||||
public MainWindow() => InitializeComponent();
|
||||
base.OnContentRendered(e);
|
||||
|
||||
protected override void OnContentRendered(EventArgs e)
|
||||
DataContext = ViewModelLocator.Instance.Main;
|
||||
NonClientAreaContent = new NonClientAreaContent();
|
||||
ControlMain.Content = new MainWindowContent();
|
||||
|
||||
GlobalShortcut.Init(new List<KeyBinding>
|
||||
{
|
||||
base.OnContentRendered(e);
|
||||
new(ViewModelLocator.Instance.Main.GlobalShortcutInfoCmd, Key.I, ModifierKeys.Control | ModifierKeys.Alt),
|
||||
new(ViewModelLocator.Instance.Main.GlobalShortcutWarningCmd, Key.E, ModifierKeys.Control | ModifierKeys.Alt)
|
||||
});
|
||||
|
||||
DataContext = ViewModelLocator.Instance.Main;
|
||||
NonClientAreaContent = new NonClientAreaContent();
|
||||
ControlMain.Content = new MainWindowContent();
|
||||
Dialog.SetToken(this, MessageToken.MainWindow);
|
||||
WindowAttach.SetIgnoreAltF4(this, true);
|
||||
|
||||
GlobalShortcut.Init(new List<KeyBinding>
|
||||
{
|
||||
new(ViewModelLocator.Instance.Main.GlobalShortcutInfoCmd, Key.I, ModifierKeys.Control | ModifierKeys.Alt),
|
||||
new(ViewModelLocator.Instance.Main.GlobalShortcutWarningCmd, Key.E, ModifierKeys.Control | ModifierKeys.Alt)
|
||||
});
|
||||
Messenger.Default.Send(true, MessageToken.FullSwitch);
|
||||
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.PracticalDemo}"), MessageToken.LoadShowContent);
|
||||
}
|
||||
|
||||
Dialog.SetToken(this, MessageToken.MainWindow);
|
||||
WindowAttach.SetIgnoreAltF4(this, true);
|
||||
|
||||
Messenger.Default.Send(true, MessageToken.FullSwitch);
|
||||
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.PracticalDemo}"), MessageToken.LoadShowContent);
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
{
|
||||
if (GlobalData.NotifyIconIsShow)
|
||||
{
|
||||
MessageBox.Info(Properties.Langs.Lang.AppClosingTip, Properties.Langs.Lang.Tip);
|
||||
Hide();
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
protected override void OnClosing(CancelEventArgs e)
|
||||
else
|
||||
{
|
||||
if (GlobalData.NotifyIconIsShow)
|
||||
{
|
||||
MessageBox.Info(Properties.Langs.Lang.AppClosingTip, Properties.Langs.Lang.Tip);
|
||||
Hide();
|
||||
e.Cancel = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
base.OnClosing(e);
|
||||
}
|
||||
base.OnClosing(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,804 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Controls" xml:space="preserve">
|
||||
<value>コントロール</value>
|
||||
</data>
|
||||
<data name="Styles" xml:space="preserve">
|
||||
<value>スタイル</value>
|
||||
</data>
|
||||
<data name="Growl" xml:space="preserve">
|
||||
<value>Growl</value>
|
||||
</data>
|
||||
<data name="GrowlInfo" xml:space="preserve">
|
||||
<value>It's a nice day today~~~</value>
|
||||
</data>
|
||||
<data name="GrowlSuccess" xml:space="preserve">
|
||||
<value>File saved successfully!</value>
|
||||
</data>
|
||||
<data name="GrowlWarning" xml:space="preserve">
|
||||
<value>Disk space is running out!</value>
|
||||
</data>
|
||||
<data name="GrowlError" xml:space="preserve">
|
||||
<value>接続できません。ネットワーク接続を確認してください!</value>
|
||||
</data>
|
||||
<data name="GrowlFatal" xml:space="preserve">
|
||||
<value>The program has crashed~~~</value>
|
||||
</data>
|
||||
<data name="GrowlAsk" xml:space="preserve">
|
||||
<value>新しいバージョンがあります!アップデートしますか?</value>
|
||||
</data>
|
||||
<data name="Loading" xml:space="preserve">
|
||||
<value>Loading</value>
|
||||
</data>
|
||||
<data name="ImageBrowser" xml:space="preserve">
|
||||
<value>ImageBrowser</value>
|
||||
</data>
|
||||
<data name="ColorPicker" xml:space="preserve">
|
||||
<value>ColorPicker</value>
|
||||
</data>
|
||||
<data name="Carousel" xml:space="preserve">
|
||||
<value>Carousel</value>
|
||||
</data>
|
||||
<data name="CompareSlider" xml:space="preserve">
|
||||
<value>CompareSlider</value>
|
||||
</data>
|
||||
<data name="TimeBar" xml:space="preserve">
|
||||
<value>TimeBar</value>
|
||||
</data>
|
||||
<data name="Expander" xml:space="preserve">
|
||||
<value>Expander</value>
|
||||
</data>
|
||||
<data name="Pagination" xml:space="preserve">
|
||||
<value>Pagination</value>
|
||||
</data>
|
||||
<data name="OpenImageBrowser" xml:space="preserve">
|
||||
<value>画像ブラウザを開く</value>
|
||||
</data>
|
||||
<data name="ProgressBar" xml:space="preserve">
|
||||
<value>ProgressBar</value>
|
||||
</data>
|
||||
<data name="AnimationPath" xml:space="preserve">
|
||||
<value>AnimationPath</value>
|
||||
</data>
|
||||
<data name="Button" xml:space="preserve">
|
||||
<value>Button</value>
|
||||
</data>
|
||||
<data name="ToggleButton" xml:space="preserve">
|
||||
<value>ToggleButton</value>
|
||||
</data>
|
||||
<data name="TabControl" xml:space="preserve">
|
||||
<value>TabControl</value>
|
||||
</data>
|
||||
<data name="CheckBox" xml:space="preserve">
|
||||
<value>CheckBox</value>
|
||||
</data>
|
||||
<data name="TextBlock" xml:space="preserve">
|
||||
<value>TextBlock</value>
|
||||
</data>
|
||||
<data name="Default" xml:space="preserve">
|
||||
<value>Default</value>
|
||||
</data>
|
||||
<data name="Primary" xml:space="preserve">
|
||||
<value>Primary</value>
|
||||
</data>
|
||||
<data name="Success" xml:space="preserve">
|
||||
<value>Success</value>
|
||||
</data>
|
||||
<data name="Info" xml:space="preserve">
|
||||
<value>Info</value>
|
||||
</data>
|
||||
<data name="Warning" xml:space="preserve">
|
||||
<value>Warning</value>
|
||||
</data>
|
||||
<data name="Danger" xml:space="preserve">
|
||||
<value>Danger</value>
|
||||
</data>
|
||||
<data name="ButtonCustom" xml:space="preserve">
|
||||
<value>Custom button</value>
|
||||
</data>
|
||||
<data name="Title" xml:space="preserve">
|
||||
<value>タイトル</value>
|
||||
</data>
|
||||
<data name="StepBar" xml:space="preserve">
|
||||
<value>StepBar</value>
|
||||
</data>
|
||||
<data name="Prev" xml:space="preserve">
|
||||
<value>Prev</value>
|
||||
</data>
|
||||
<data name="Next" xml:space="preserve">
|
||||
<value>Next</value>
|
||||
</data>
|
||||
<data name="Register" xml:space="preserve">
|
||||
<value>Register</value>
|
||||
</data>
|
||||
<data name="BasicInfo" xml:space="preserve">
|
||||
<value>Fill in the basic information</value>
|
||||
</data>
|
||||
<data name="UploadFile" xml:space="preserve">
|
||||
<value>Upload file</value>
|
||||
</data>
|
||||
<data name="Complete" xml:space="preserve">
|
||||
<value>Complete</value>
|
||||
</data>
|
||||
<data name="Clock" xml:space="preserve">
|
||||
<value>Clock</value>
|
||||
</data>
|
||||
<data name="Calendar" xml:space="preserve">
|
||||
<value>Calendar</value>
|
||||
</data>
|
||||
<data name="DatePicker" xml:space="preserve">
|
||||
<value>DatePicker</value>
|
||||
</data>
|
||||
<data name="TimePicker" xml:space="preserve">
|
||||
<value>TimePicker</value>
|
||||
</data>
|
||||
<data name="TextBox" xml:space="preserve">
|
||||
<value>TextBox</value>
|
||||
</data>
|
||||
<data name="ContentDemoStr" xml:space="preserve">
|
||||
<value>ここはコンテンツ</value>
|
||||
</data>
|
||||
<data name="TitleDemoStr1" xml:space="preserve">
|
||||
<value>ここはタイトル</value>
|
||||
</data>
|
||||
<data name="TitleDemoStr2" xml:space="preserve">
|
||||
<value>ここは入力必須</value>
|
||||
</data>
|
||||
<data name="PlsEnterContent" xml:space="preserve">
|
||||
<value>内容を入力</value>
|
||||
</data>
|
||||
<data name="TitleDemoStr3" xml:space="preserve">
|
||||
<value>左寄せタイトル</value>
|
||||
</data>
|
||||
<data name="Text" xml:space="preserve">
|
||||
<value>テキスト</value>
|
||||
</data>
|
||||
<data name="SubTitle" xml:space="preserve">
|
||||
<value>サブタイトル</value>
|
||||
</data>
|
||||
<data name="PasswordBox" xml:space="preserve">
|
||||
<value>PasswordBox</value>
|
||||
</data>
|
||||
<data name="CirclePanel" xml:space="preserve">
|
||||
<value>CirclePanel</value>
|
||||
</data>
|
||||
<data name="ComboBox" xml:space="preserve">
|
||||
<value>ComboBox</value>
|
||||
</data>
|
||||
<data name="NumericUpDown" xml:space="preserve">
|
||||
<value>NumericUpDown</value>
|
||||
</data>
|
||||
<data name="DataGrid" xml:space="preserve">
|
||||
<value>DataGrid</value>
|
||||
</data>
|
||||
<data name="Index" xml:space="preserve">
|
||||
<value>インデックス</value>
|
||||
</data>
|
||||
<data name="Name" xml:space="preserve">
|
||||
<value>名前</value>
|
||||
</data>
|
||||
<data name="Type" xml:space="preserve">
|
||||
<value>種類</value>
|
||||
</data>
|
||||
<data name="Remark" xml:space="preserve">
|
||||
<value>注記</value>
|
||||
</data>
|
||||
<data name="Selected" xml:space="preserve">
|
||||
<value>選択</value>
|
||||
</data>
|
||||
<data name="ListBox" xml:space="preserve">
|
||||
<value>ListBox</value>
|
||||
</data>
|
||||
<data name="TreeView" xml:space="preserve">
|
||||
<value>TreeView</value>
|
||||
</data>
|
||||
<data name="ScrollViewer" xml:space="preserve">
|
||||
<value>ScrollViewer</value>
|
||||
</data>
|
||||
<data name="Window" xml:space="preserve">
|
||||
<value>Window</value>
|
||||
</data>
|
||||
<data name="Menu" xml:space="preserve">
|
||||
<value>Menu</value>
|
||||
</data>
|
||||
<data name="RightClickHere" xml:space="preserve">
|
||||
<value>ここを右クリック</value>
|
||||
</data>
|
||||
<data name="RadioButton" xml:space="preserve">
|
||||
<value>RadioButton</value>
|
||||
</data>
|
||||
<data name="OpenMessageWindow" xml:space="preserve">
|
||||
<value>メッセージウインドウを開く</value>
|
||||
</data>
|
||||
<data name="OpenCommonWindow" xml:space="preserve">
|
||||
<value>通常のウインドウを開く</value>
|
||||
</data>
|
||||
<data name="OpenCustomNonClientAreaWindow" xml:space="preserve">
|
||||
<value>カスタム非クライアント領域ウインドウを開く</value>
|
||||
</data>
|
||||
<data name="OpenMouseFollowWindow" xml:space="preserve">
|
||||
<value>マウス位置にウインドウを開く</value>
|
||||
</data>
|
||||
<data name="OpenCustomContentWindow" xml:space="preserve">
|
||||
<value>カスタムコンテンツウインドウを開く</value>
|
||||
</data>
|
||||
<data name="Ignore" xml:space="preserve">
|
||||
<value>Ignore</value>
|
||||
</data>
|
||||
<data name="Error" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
<data name="Ask" xml:space="preserve">
|
||||
<value>Ask</value>
|
||||
</data>
|
||||
<data name="Fatal" xml:space="preserve">
|
||||
<value>Fatal</value>
|
||||
</data>
|
||||
<data name="Clear" xml:space="preserve">
|
||||
<value>Clear</value>
|
||||
</data>
|
||||
<data name="ChangeLangAsk" xml:space="preserve">
|
||||
<value>Whether to restart to change the language?</value>
|
||||
</data>
|
||||
<data name="About" xml:space="preserve">
|
||||
<value>情報</value>
|
||||
</data>
|
||||
<data name="Repository" xml:space="preserve">
|
||||
<value>リポジトリ</value>
|
||||
</data>
|
||||
<data name="Email" xml:space="preserve">
|
||||
<value>Eメール</value>
|
||||
</data>
|
||||
<data name="Chatroom" xml:space="preserve">
|
||||
<value>チャットルーム</value>
|
||||
</data>
|
||||
<data name="Blog" xml:space="preserve">
|
||||
<value>ブログ</value>
|
||||
</data>
|
||||
<data name="Brush" xml:space="preserve">
|
||||
<value>Brush</value>
|
||||
</data>
|
||||
<data name="PreviewSlider" xml:space="preserve">
|
||||
<value>PreviewSlider</value>
|
||||
</data>
|
||||
<data name="Contributors" xml:space="preserve">
|
||||
<value>貢献者</value>
|
||||
</data>
|
||||
<data name="Slider" xml:space="preserve">
|
||||
<value>Slider</value>
|
||||
</data>
|
||||
<data name="IsNotPhone" xml:space="preserve">
|
||||
<value>It's not a phone number</value>
|
||||
</data>
|
||||
<data name="PlsEnterEmail" xml:space="preserve">
|
||||
<value>Eメールアドレスを入力</value>
|
||||
</data>
|
||||
<data name="Step" xml:space="preserve">
|
||||
<value>Step</value>
|
||||
</data>
|
||||
<data name="CalendarWithClock" xml:space="preserve">
|
||||
<value>CalendarWithClock</value>
|
||||
</data>
|
||||
<data name="DateTimePicker" xml:space="preserve">
|
||||
<value>DateTimePicker</value>
|
||||
</data>
|
||||
<data name="GroupBox" xml:space="preserve">
|
||||
<value>GroupBox</value>
|
||||
</data>
|
||||
<data name="ListView" xml:space="preserve">
|
||||
<value>ListView</value>
|
||||
</data>
|
||||
<data name="RichTextBox" xml:space="preserve">
|
||||
<value>RichTextBox</value>
|
||||
</data>
|
||||
<data name="ToolBar" xml:space="preserve">
|
||||
<value>ToolBar</value>
|
||||
</data>
|
||||
<data name="Common" xml:space="preserve">
|
||||
<value>通常</value>
|
||||
</data>
|
||||
<data name="ShowRowNumber" xml:space="preserve">
|
||||
<value>行番号表示</value>
|
||||
</data>
|
||||
<data name="SearchBar" xml:space="preserve">
|
||||
<value>SearchBar</value>
|
||||
</data>
|
||||
<data name="Tag" xml:space="preserve">
|
||||
<value>Tag</value>
|
||||
</data>
|
||||
<data name="GifImage" xml:space="preserve">
|
||||
<value>GifImage</value>
|
||||
</data>
|
||||
<data name="OutlineText" xml:space="preserve">
|
||||
<value>OutlineText</value>
|
||||
</data>
|
||||
<data name="QQGroup" xml:space="preserve">
|
||||
<value>QQ Group</value>
|
||||
</data>
|
||||
<data name="FlipClock" xml:space="preserve">
|
||||
<value>FlipClock</value>
|
||||
</data>
|
||||
<data name="OpenBlurWindow" xml:space="preserve">
|
||||
<value>BlurWindowを開く</value>
|
||||
</data>
|
||||
<data name="Rate" xml:space="preserve">
|
||||
<value>Rate</value>
|
||||
</data>
|
||||
<data name="Shield" xml:space="preserve">
|
||||
<value>Shield</value>
|
||||
</data>
|
||||
<data name="WaterfallPanel" xml:space="preserve">
|
||||
<value>WaterfallPanel</value>
|
||||
</data>
|
||||
<data name="Groups" xml:space="preserve">
|
||||
<value>Groups</value>
|
||||
</data>
|
||||
<data name="CoverView" xml:space="preserve">
|
||||
<value>CoverView</value>
|
||||
</data>
|
||||
<data name="CoverFlow" xml:space="preserve">
|
||||
<value>CoverFlow</value>
|
||||
</data>
|
||||
<data name="PlsEnterKey" xml:space="preserve">
|
||||
<value>検索ワードを入力</value>
|
||||
</data>
|
||||
<data name="OpenNoNonClientAreaDragableWindow" xml:space="preserve">
|
||||
<value>非クライアント領域の無いドラッグ可能ウインドウを開く</value>
|
||||
</data>
|
||||
<data name="DragHere" xml:space="preserve">
|
||||
<value>Drag here</value>
|
||||
</data>
|
||||
<data name="MessageBox" xml:space="preserve">
|
||||
<value>MessageBox</value>
|
||||
</data>
|
||||
<data name="ProgressButton" xml:space="preserve">
|
||||
<value>ProgressButton</value>
|
||||
</data>
|
||||
<data name="UploadStr" xml:space="preserve">
|
||||
<value>アップロード;アップロード中</value>
|
||||
</data>
|
||||
<data name="OpenCustomMessageWindow" xml:space="preserve">
|
||||
<value>カスタムメッセージウインドウを開く</value>
|
||||
</data>
|
||||
<data name="Transfer" xml:space="preserve">
|
||||
<value>Transfer</value>
|
||||
</data>
|
||||
<data name="ChatBubble" xml:space="preserve">
|
||||
<value>ChatBubble</value>
|
||||
</data>
|
||||
<data name="PushToTalk" xml:space="preserve">
|
||||
<value>Push to talk</value>
|
||||
</data>
|
||||
<data name="Second" xml:space="preserve">
|
||||
<value>Sec</value>
|
||||
</data>
|
||||
<data name="Label" xml:space="preserve">
|
||||
<value>Label</value>
|
||||
</data>
|
||||
<data name="GotoTop" xml:space="preserve">
|
||||
<value>GotoTop</value>
|
||||
</data>
|
||||
<data name="NotifyIcon" xml:space="preserve">
|
||||
<value>NotifyIcon</value>
|
||||
</data>
|
||||
<data name="Badge" xml:space="preserve">
|
||||
<value>Badge</value>
|
||||
</data>
|
||||
<data name="Gravatar" xml:space="preserve">
|
||||
<value>Gravatar</value>
|
||||
</data>
|
||||
<data name="ComingSoon" xml:space="preserve">
|
||||
<value>近日公開</value>
|
||||
</data>
|
||||
<data name="Comment" xml:space="preserve">
|
||||
<value>Comment</value>
|
||||
</data>
|
||||
<data name="Reply" xml:space="preserve">
|
||||
<value>Reply</value>
|
||||
</data>
|
||||
<data name="Dialog" xml:space="preserve">
|
||||
<value>Dialog</value>
|
||||
</data>
|
||||
<data name="TextDialog" xml:space="preserve">
|
||||
<value>TextDialog</value>
|
||||
</data>
|
||||
<data name="PleaseWait" xml:space="preserve">
|
||||
<value>お待ちください...</value>
|
||||
</data>
|
||||
<data name="GrowlDemo" xml:space="preserve">
|
||||
<value>Growl デモ</value>
|
||||
</data>
|
||||
<data name="NewWindow" xml:space="preserve">
|
||||
<value>新規ウインドウ</value>
|
||||
</data>
|
||||
<data name="Visibility" xml:space="preserve">
|
||||
<value>表示</value>
|
||||
</data>
|
||||
<data name="Blink" xml:space="preserve">
|
||||
<value>点滅</value>
|
||||
</data>
|
||||
<data name="Exit" xml:space="preserve">
|
||||
<value>Exit</value>
|
||||
</data>
|
||||
<data name="OpenPanel" xml:space="preserve">
|
||||
<value>Open Panel</value>
|
||||
</data>
|
||||
<data name="AppClosingTip" xml:space="preserve">
|
||||
<value>The tray icon is open and will hide the window instead of closing the program</value>
|
||||
</data>
|
||||
<data name="Tip" xml:space="preserve">
|
||||
<value>Prompt</value>
|
||||
</data>
|
||||
<data name="Try2CloseApp" xml:space="preserve">
|
||||
<value>Try to close app?</value>
|
||||
</data>
|
||||
<data name="InteractiveDialog" xml:space="preserve">
|
||||
<value>対話型 Dialog</value>
|
||||
</data>
|
||||
<data name="Ok" xml:space="preserve">
|
||||
<value>Ok</value>
|
||||
</data>
|
||||
<data name="PleaseInput" xml:space="preserve">
|
||||
<value>入力してください...</value>
|
||||
</data>
|
||||
<data name="Click2Count" xml:space="preserve">
|
||||
<value>Click to count</value>
|
||||
</data>
|
||||
<data name="RepeatButton" xml:space="preserve">
|
||||
<value>RepeatButton</value>
|
||||
</data>
|
||||
<data name="DialogDemo" xml:space="preserve">
|
||||
<value>Dialog デモ</value>
|
||||
</data>
|
||||
<data name="ShowInCurrentWindow" xml:space="preserve">
|
||||
<value>このウインドウに表示</value>
|
||||
</data>
|
||||
<data name="ShowInMainWindow" xml:space="preserve">
|
||||
<value>メインウインドウに表示</value>
|
||||
</data>
|
||||
<data name="SideMenu" xml:space="preserve">
|
||||
<value>SideMenu</value>
|
||||
</data>
|
||||
<data name="Grid" xml:space="preserve">
|
||||
<value>Grid</value>
|
||||
</data>
|
||||
<data name="BasicLayout" xml:space="preserve">
|
||||
<value>基本レイアウト</value>
|
||||
</data>
|
||||
<data name="ColumnSpacing" xml:space="preserve">
|
||||
<value>列スペース</value>
|
||||
</data>
|
||||
<data name="HybridLayout" xml:space="preserve">
|
||||
<value>混合レイアウト</value>
|
||||
</data>
|
||||
<data name="ColumnOffset" xml:space="preserve">
|
||||
<value>列オフセット</value>
|
||||
</data>
|
||||
<data name="ResponsiveLayout" xml:space="preserve">
|
||||
<value>レスポンシブレイアウト</value>
|
||||
</data>
|
||||
<data name="Border" xml:space="preserve">
|
||||
<value>Border</value>
|
||||
</data>
|
||||
<data name="Poptip" xml:space="preserve">
|
||||
<value>Poptip</value>
|
||||
</data>
|
||||
<data name="Recommendation" xml:space="preserve">
|
||||
<value>おすすめ</value>
|
||||
</data>
|
||||
<data name="Project" xml:space="preserve">
|
||||
<value>プロジェクト</value>
|
||||
</data>
|
||||
<data name="RangeSlider" xml:space="preserve">
|
||||
<value>RangeSlider</value>
|
||||
</data>
|
||||
<data name="RelativePanel" xml:space="preserve">
|
||||
<value>RelativePanel</value>
|
||||
</data>
|
||||
<data name="On" xml:space="preserve">
|
||||
<value>On</value>
|
||||
</data>
|
||||
<data name="Off" xml:space="preserve">
|
||||
<value>Off</value>
|
||||
</data>
|
||||
<data name="ButtonGroup" xml:space="preserve">
|
||||
<value>ButtonGroup</value>
|
||||
</data>
|
||||
<data name="Card" xml:space="preserve">
|
||||
<value>Card</value>
|
||||
</data>
|
||||
<data name="TextDialogWithTimer" xml:space="preserve">
|
||||
<value>TextDialog, タイマーあり</value>
|
||||
</data>
|
||||
<data name="Magnifier" xml:space="preserve">
|
||||
<value>Magnifier</value>
|
||||
</data>
|
||||
<data name="ImageBlock" xml:space="preserve">
|
||||
<value>ImageBlock</value>
|
||||
</data>
|
||||
<data name="RunningBlock" xml:space="preserve">
|
||||
<value>RunningBlock</value>
|
||||
</data>
|
||||
<data name="HoneycombPanel" xml:space="preserve">
|
||||
<value>HoneycombPanel</value>
|
||||
</data>
|
||||
<data name="AddItem" xml:space="preserve">
|
||||
<value>アイテム追加</value>
|
||||
</data>
|
||||
<data name="RemoveItem" xml:space="preserve">
|
||||
<value>アイテム削除</value>
|
||||
</data>
|
||||
<data name="Sprite" xml:space="preserve">
|
||||
<value>Sprite</value>
|
||||
</data>
|
||||
<data name="OpenSprite" xml:space="preserve">
|
||||
<value>Spriteを開く</value>
|
||||
</data>
|
||||
<data name="Notification" xml:space="preserve">
|
||||
<value>Notification</value>
|
||||
</data>
|
||||
<data name="SendNotification" xml:space="preserve">
|
||||
<value>通知を送信</value>
|
||||
</data>
|
||||
<data name="StaysOpen" xml:space="preserve">
|
||||
<value>開いたままにする</value>
|
||||
</data>
|
||||
<data name="FloatingBlock" xml:space="preserve">
|
||||
<value>FloatingBlock</value>
|
||||
</data>
|
||||
<data name="SplitButton" xml:space="preserve">
|
||||
<value>SplitButton</value>
|
||||
</data>
|
||||
<data name="Tools" xml:space="preserve">
|
||||
<value>ツール</value>
|
||||
</data>
|
||||
<data name="HatchBrushGenerator" xml:space="preserve">
|
||||
<value>HatchBrushGenerator</value>
|
||||
</data>
|
||||
<data name="Morphing Animation" xml:space="preserve">
|
||||
<value>Morphing Animation</value>
|
||||
</data>
|
||||
<data name="Divider" xml:space="preserve">
|
||||
<value>Divider</value>
|
||||
</data>
|
||||
<data name="PoptipPositionStr" xml:space="preserve">
|
||||
<value>top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start</value>
|
||||
</data>
|
||||
<data name="TransitioningContentControl" xml:space="preserve">
|
||||
<value>TransitioningContentControl</value>
|
||||
</data>
|
||||
<data name="Drawer" xml:space="preserve">
|
||||
<value>Drawer</value>
|
||||
</data>
|
||||
<data name="Documentation" xml:space="preserve">
|
||||
<value>ドキュメント</value>
|
||||
</data>
|
||||
<data name="Effects" xml:space="preserve">
|
||||
<value>Effects</value>
|
||||
</data>
|
||||
<data name="Website" xml:space="preserve">
|
||||
<value>ウェブサイト</value>
|
||||
</data>
|
||||
<data name="Vsix" xml:space="preserve">
|
||||
<value>Vsix</value>
|
||||
</data>
|
||||
<data name="Doc_en" xml:space="preserve">
|
||||
<value>英語ドキュメント</value>
|
||||
</data>
|
||||
<data name="Doc_cn" xml:space="preserve">
|
||||
<value>中国語ドキュメント</value>
|
||||
</data>
|
||||
<data name="Demo" xml:space="preserve">
|
||||
<value>デモ</value>
|
||||
</data>
|
||||
<data name="PinBox" xml:space="preserve">
|
||||
<value>PinBox</value>
|
||||
</data>
|
||||
<data name="FlowDocumentScrollViewer" xml:space="preserve">
|
||||
<value>FlowDocumentScrollViewer</value>
|
||||
</data>
|
||||
<data name="OpenGlowWindow" xml:space="preserve">
|
||||
<value>GlowWindowを開く</value>
|
||||
</data>
|
||||
<data name="FlowDocument" xml:space="preserve">
|
||||
<value>FlowDocument</value>
|
||||
</data>
|
||||
<data name="FlowDocumentPageViewer" xml:space="preserve">
|
||||
<value>FlowDocumentPageViewer</value>
|
||||
</data>
|
||||
<data name="FlowDocumentReader" xml:space="preserve">
|
||||
<value>FlowDocumentReader</value>
|
||||
</data>
|
||||
<data name="OpenNativeCommonWindow" xml:space="preserve">
|
||||
<value>標準のウインドウを開く</value>
|
||||
</data>
|
||||
<data name="OpenNavigationWindow" xml:space="preserve">
|
||||
<value>ナビゲーションウインドウを開く</value>
|
||||
</data>
|
||||
<data name="Frame" xml:space="preserve">
|
||||
<value>Frame</value>
|
||||
</data>
|
||||
<data name="PracticalDemos" xml:space="preserve">
|
||||
<value>実用例</value>
|
||||
</data>
|
||||
<data name="StartScreenshot" xml:space="preserve">
|
||||
<value>スクリーンショット開始</value>
|
||||
</data>
|
||||
<data name="Screenshot" xml:space="preserve">
|
||||
<value>Screenshot</value>
|
||||
</data>
|
||||
<data name="TextDialogInControl" xml:space="preserve">
|
||||
<value>TextDialog(コントロール内)</value>
|
||||
</data>
|
||||
<data name="LangComment" xml:space="preserve">
|
||||
<value>Looks up a localized string similar to "{0}".</value>
|
||||
</data>
|
||||
<data name="PropertyGrid" xml:space="preserve">
|
||||
<value>PropertyGrid</value>
|
||||
</data>
|
||||
<data name="ImageSelector" xml:space="preserve">
|
||||
<value>ImageSelector</value>
|
||||
</data>
|
||||
<data name="Geometry" xml:space="preserve">
|
||||
<value>Geometry</value>
|
||||
</data>
|
||||
<data name="CheckComboBox" xml:space="preserve">
|
||||
<value>CheckComboBox</value>
|
||||
</data>
|
||||
<data name="FlexPanel" xml:space="preserve">
|
||||
<value>FlexPanel</value>
|
||||
</data>
|
||||
<data name="OpenTouchDragMoveWindow" xml:space="preserve">
|
||||
<value>タッチ移動ウインドウを開く</value>
|
||||
</data>
|
||||
<data name="UniformSpacingPanel" xml:space="preserve">
|
||||
<value>UniformSpacingPanel</value>
|
||||
</data>
|
||||
<data name="Misc" xml:space="preserve">
|
||||
<value>Misc</value>
|
||||
</data>
|
||||
<data name="Interacting" xml:space="preserve">
|
||||
<value>Interacting</value>
|
||||
</data>
|
||||
<data name="DataEntry" xml:space="preserve">
|
||||
<value>Data Entry</value>
|
||||
</data>
|
||||
<data name="DataDisplay" xml:space="preserve">
|
||||
<value>Data Display</value>
|
||||
</data>
|
||||
<data name="Navigation" xml:space="preserve">
|
||||
<value>Navigation</value>
|
||||
</data>
|
||||
<data name="Layout" xml:space="preserve">
|
||||
<value>Layout</value>
|
||||
</data>
|
||||
<data name="Feedback" xml:space="preserve">
|
||||
<value>Feedback</value>
|
||||
</data>
|
||||
<data name="Empty" xml:space="preserve">
|
||||
<value>Empty</value>
|
||||
</data>
|
||||
<data name="ElementGroup" xml:space="preserve">
|
||||
<value>ElementGroup</value>
|
||||
</data>
|
||||
<data name="AutoCompleteTextBox" xml:space="preserve">
|
||||
<value>AutoCompleteTextBox</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -4,16 +4,15 @@ using HandyControl.Data;
|
||||
using HandyControl.Themes;
|
||||
using HandyControl.Tools;
|
||||
|
||||
namespace HandyControlDemo.Resources
|
||||
{
|
||||
public class DemoTheme : Theme
|
||||
{
|
||||
public override ResourceDictionary GetSkin(SkinType skinType) =>
|
||||
ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skinType);
|
||||
namespace HandyControlDemo.Resources;
|
||||
|
||||
public override ResourceDictionary GetTheme() => new()
|
||||
{
|
||||
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
|
||||
};
|
||||
}
|
||||
public class DemoTheme : Theme
|
||||
{
|
||||
public override ResourceDictionary GetSkin(SkinType skinType) =>
|
||||
ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skinType);
|
||||
|
||||
public override ResourceDictionary GetTheme() => new()
|
||||
{
|
||||
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
|
||||
};
|
||||
}
|
||||
|
After Width: | Height: | Size: 500 B |
@@ -42,7 +42,6 @@
|
||||
|
||||
<Style x:Key="ListBoxItemTransparent" BasedOn="{StaticResource ListBoxItemBaseStyle}" TargetType="ListBoxItem">
|
||||
<Setter Property="Visibility" Value="{Binding IsVisible,Converter={StaticResource Boolean2VisibilityConverter}}"/>
|
||||
<Setter Property="hc:BorderElement.CornerRadius" Value="4"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
</Style>
|
||||
|
||||
@@ -79,8 +78,10 @@
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ListBoxTransparent" BasedOn="{StaticResource ListBoxBaseStyle}" TargetType="ListBox">
|
||||
<Setter Property="hc:BorderElement.CornerRadius" Value="4"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="ItemContainerStyle" Value="{StaticResource ListBoxItemTransparent}"/>
|
||||
<Setter Property="hc:ScrollViewer.IsInertiaEnabled" Value="True"/>
|
||||
</Style>
|
||||
|
||||
<ItemsPanelTemplate x:Key="FluidMoveBehaviorWrapPanelItemsPanelTemplate">
|
||||
@@ -176,7 +177,7 @@
|
||||
</Style>
|
||||
</ControlTemplate.Resources>
|
||||
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
|
||||
<ScrollViewer Name="PART_ScrollViewer" Padding="{TemplateBinding Padding}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" CanContentScroll="True" Content="{Binding TextArea,RelativeSource={RelativeSource TemplatedParent}}" Focusable="False" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" />
|
||||
<hc:ScrollViewer IsInertiaEnabled="True" Name="PART_ScrollViewer" Padding="{TemplateBinding Padding}" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" CanContentScroll="True" Content="{Binding TextArea,RelativeSource={RelativeSource TemplatedParent}}" Focusable="False" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" />
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="WordWrap" Value="True">
|
||||
|
||||
@@ -12,443 +12,430 @@ using HandyControlDemo.Properties.Langs;
|
||||
using HandyControlDemo.Tools.Converter;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace HandyControlDemo.Service
|
||||
namespace HandyControlDemo.Service;
|
||||
|
||||
public class DataService
|
||||
{
|
||||
public class DataService
|
||||
internal ObservableCollection<TabControlDemoModel> GetTabControlDemoDataList()
|
||||
{
|
||||
internal ObservableCollection<TabControlDemoModel> GetTabControlDemoDataList()
|
||||
return new()
|
||||
{
|
||||
return new()
|
||||
new TabControlDemoModel
|
||||
{
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Success",
|
||||
BackgroundToken = ResourceToken.SuccessBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Primary",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Warning",
|
||||
BackgroundToken = ResourceToken.WarningBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Danger",
|
||||
BackgroundToken = ResourceToken.DangerBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Info",
|
||||
BackgroundToken = ResourceToken.InfoBrush
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<DemoDataModel> GetDemoDataList()
|
||||
{
|
||||
var list = new List<DemoDataModel>();
|
||||
for (var i = 1; i <= 20; i++)
|
||||
Header = "Success",
|
||||
BackgroundToken = ResourceToken.SuccessBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
var dataList = new List<DemoDataModel>();
|
||||
for (var j = 0; j < 3; j++)
|
||||
{
|
||||
dataList.Add(new DemoDataModel
|
||||
{
|
||||
Index = j,
|
||||
IsSelected = j % 2 == 0,
|
||||
Name = $"SubName{j}",
|
||||
Type = (DemoType) j
|
||||
});
|
||||
}
|
||||
var model = new DemoDataModel
|
||||
{
|
||||
Index = i,
|
||||
IsSelected = i % 2 == 0,
|
||||
Name = $"Name{i}",
|
||||
Type = (DemoType) (i % 6 + 1),
|
||||
DataList = dataList,
|
||||
ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{i % 6 + 1}.png",
|
||||
Remark = new string(i.ToString()[0], 10)
|
||||
};
|
||||
list.Add(model);
|
||||
Header = "Primary",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Warning",
|
||||
BackgroundToken = ResourceToken.WarningBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Danger",
|
||||
BackgroundToken = ResourceToken.DangerBrush
|
||||
},
|
||||
new TabControlDemoModel
|
||||
{
|
||||
Header = "Info",
|
||||
BackgroundToken = ResourceToken.InfoBrush
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<DemoDataModel> GetDemoDataList(int count)
|
||||
internal List<DemoDataModel> GetDemoDataList()
|
||||
{
|
||||
var list = new List<DemoDataModel>();
|
||||
for (var i = 1; i <= 20; i++)
|
||||
{
|
||||
var list = new List<DemoDataModel>();
|
||||
for (var i = 1; i <= count; i++)
|
||||
var dataList = new List<DemoDataModel>();
|
||||
for (var j = 0; j < 3; j++)
|
||||
{
|
||||
var index = i % 6 + 1;
|
||||
var model = new DemoDataModel
|
||||
dataList.Add(new DemoDataModel
|
||||
{
|
||||
Index = i,
|
||||
IsSelected = i % 2 == 0,
|
||||
Name = $"Name{i}",
|
||||
Type = (DemoType) index,
|
||||
ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{index}.png",
|
||||
Remark = new string(i.ToString()[0], 10)
|
||||
};
|
||||
list.Add(model);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<string> GetComboBoxDemoDataList()
|
||||
{
|
||||
var converter = new StringRepeatConverter();
|
||||
var list = new List<string>();
|
||||
for (var i = 1; i <= 9; i++)
|
||||
{
|
||||
list.Add($"{converter.Convert(Lang.Text, null, i, CultureInfo.CurrentCulture)}{i}");
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetContributorDataList()
|
||||
{
|
||||
var client = new WebClient();
|
||||
client.Headers.Add("User-Agent", "request");
|
||||
var list = new List<AvatarModel>();
|
||||
try
|
||||
{
|
||||
var json = client.DownloadString(new Uri("https://api.github.com/repos/nabian/handycontrol/contributors"));
|
||||
var objList = JsonConvert.DeserializeObject<List<dynamic>>(json);
|
||||
list.AddRange(objList.Select(item => new AvatarModel
|
||||
{
|
||||
DisplayName = item.login,
|
||||
AvatarUri = item.avatar_url,
|
||||
Link = item.html_url
|
||||
}));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Error(e.Message, Lang.Error);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetBlogDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "林德熙",
|
||||
AvatarUri = "https://avatars3.githubusercontent.com/u/16054566?s=400&v=4",
|
||||
Link = "https://blog.lindexi.com/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "吕毅",
|
||||
AvatarUri = "https://avatars2.githubusercontent.com/u/9959623?s=400&v=4",
|
||||
Link = "https://blog.walterlv.com/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "DinoChan",
|
||||
AvatarUri = "https://avatars1.githubusercontent.com/u/6076257?s=400&v=4",
|
||||
Link = "https://www.cnblogs.com/dino623/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "noctwolf",
|
||||
AvatarUri = "https://avatars3.githubusercontent.com/u/21022467?s=400&v=4",
|
||||
Link = "https://www.cnblogs.com/noctwolf/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "关关长语",
|
||||
AvatarUri = "https://avatars3.githubusercontent.com/u/25916858?s=400&v=4",
|
||||
Link = "https://blog.csdn.net/qq_28806349/category_11213909.html"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetProjectDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "phpEnv",
|
||||
AvatarUri = "https://cdn.phpenv.cn:444/logo.png",
|
||||
Link = "https://www.phpenv.cn/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "AutumnBox",
|
||||
AvatarUri = "https://raw.githubusercontent.com/zsh2401/AutumnBox/master/src/AutumnBox.GUI/Resources/Images/icon.png",
|
||||
Link = "https://github.com/zsh2401/AutumnBox"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "quicker",
|
||||
AvatarUri = "https://files.getquicker.net/_sitefiles/quicker_round_128.png",
|
||||
Link = "https://getquicker.net"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetWebsiteDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "Dotnet9",
|
||||
AvatarUri = "https://pic.cnblogs.com/avatar/1663243/20191124121029.png",
|
||||
Link = "https://dotnet9.com/"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal ObservableCollection<CardModel> GetCardDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new CardModel
|
||||
{
|
||||
Header = "Atomic",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/1.jpg",
|
||||
Footer = "Stive Morgan"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Zinderlong",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/2.jpg",
|
||||
Footer = "Zonderling"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Busy Doin' Nothin'",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/3.jpg",
|
||||
Footer = "Ace Wilder"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Wrong",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/4.jpg",
|
||||
Footer = "Blaxy Girls"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "The Lights",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/5.jpg",
|
||||
Footer = "Panda Eyes"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "EA7-50-Cent Disco",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/6.jpg",
|
||||
Footer = "еяхат музыка"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Monsters",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/7.jpg",
|
||||
Footer = "Different Heaven"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Gangsta Walk",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/8.jpg",
|
||||
Footer = "Illusionize"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Won't Back Down",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/9.jpg",
|
||||
Footer = "Boehm / Benjamin Francis Leftwich"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Katchi",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/10.jpg",
|
||||
Footer = "Ofenbach / Nick Waterhouse"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal CardModel GetCardData()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
Content = $"/HandyControlDemo;component/Resources/Img/Album/{DateTime.Now.Second % 10 + 1}.jpg"
|
||||
};
|
||||
}
|
||||
|
||||
internal List<StepBarDemoModel> GetStepBarDemoDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.Register
|
||||
},
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.BasicInfo
|
||||
},
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.UploadFile
|
||||
},
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.Complete
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal ObservableCollection<CoverViewDemoModel> GetCoverViewDemoDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/1.jpg",
|
||||
BackgroundToken = ResourceToken.SuccessBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/2.jpg",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/3.jpg",
|
||||
BackgroundToken = ResourceToken.WarningBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/4.jpg",
|
||||
BackgroundToken = ResourceToken.DangerBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/5.jpg",
|
||||
BackgroundToken = ResourceToken.SuccessBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/6.jpg",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/7.jpg",
|
||||
BackgroundToken = ResourceToken.InfoBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/8.jpg",
|
||||
BackgroundToken = ResourceToken.WarningBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/9.jpg",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/10.jpg",
|
||||
BackgroundToken = ResourceToken.DangerBrush
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<DemoInfoModel> GetDemoInfo()
|
||||
{
|
||||
var infoList = new List<DemoInfoModel>();
|
||||
|
||||
var stream = Application.GetResourceStream(new Uri("Data/DemoInfo.json", UriKind.Relative))?.Stream;
|
||||
if (stream == null) return infoList;
|
||||
|
||||
string jsonStr;
|
||||
using (var reader = new StreamReader(stream))
|
||||
{
|
||||
jsonStr = reader.ReadToEnd();
|
||||
}
|
||||
|
||||
var jsonObj = JsonConvert.DeserializeObject<dynamic>(jsonStr);
|
||||
foreach (var item in jsonObj)
|
||||
{
|
||||
var titleKey = (string) item.title;
|
||||
var title = titleKey;
|
||||
List<DemoItemModel> list = Convert2DemoItemList(item.demoItemList);
|
||||
|
||||
var demoInfoModel = new DemoInfoModel
|
||||
{
|
||||
Key = titleKey,
|
||||
Title = title,
|
||||
DemoItemList = list,
|
||||
SelectedIndex = (int) item.selectedIndex,
|
||||
IsGroupEnabled = (bool) item.group
|
||||
};
|
||||
|
||||
infoList.Add(demoInfoModel);
|
||||
}
|
||||
|
||||
return infoList;
|
||||
}
|
||||
|
||||
private List<DemoItemModel> Convert2DemoItemList(dynamic list)
|
||||
{
|
||||
var resultList = new List<DemoItemModel>();
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
var name = (string) item[0];
|
||||
string targetCtlName = item[1];
|
||||
string imageName = item[2];
|
||||
var isNew = !string.IsNullOrEmpty((string) item[3]);
|
||||
var groupName = (string) item[4];
|
||||
if (string.IsNullOrEmpty(groupName))
|
||||
{
|
||||
groupName = "Misc";
|
||||
}
|
||||
|
||||
resultList.Add(new DemoItemModel
|
||||
{
|
||||
Name = name,
|
||||
TargetCtlName = targetCtlName,
|
||||
ImageName = $"../../Resources/Img/LeftMainContent/{imageName}.png",
|
||||
IsNew = isNew,
|
||||
GroupName = groupName
|
||||
Index = j,
|
||||
IsSelected = j % 2 == 0,
|
||||
Name = $"SubName{j}",
|
||||
Type = (DemoType) j
|
||||
});
|
||||
}
|
||||
|
||||
return resultList;
|
||||
var model = new DemoDataModel
|
||||
{
|
||||
Index = i,
|
||||
IsSelected = i % 2 == 0,
|
||||
Name = $"Name{i}",
|
||||
Type = (DemoType) (i % 6 + 1),
|
||||
DataList = dataList,
|
||||
ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{i % 6 + 1}.png",
|
||||
Remark = new string(i.ToString()[0], 10)
|
||||
};
|
||||
list.Add(model);
|
||||
}
|
||||
|
||||
public string GetDemoUrl(DemoInfoModel demoInfo, DemoItemModel demoItem)
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<DemoDataModel> GetDemoDataList(int count)
|
||||
{
|
||||
var list = new List<DemoDataModel>();
|
||||
for (var i = 1; i <= count; i++)
|
||||
{
|
||||
var key = demoInfo.Key switch
|
||||
var index = i % 6 + 1;
|
||||
var model = new DemoDataModel
|
||||
{
|
||||
"Styles" => "native_controls",
|
||||
"Controls" => "extend_controls",
|
||||
"Tools" => "tools",
|
||||
_ => string.Empty
|
||||
Index = i,
|
||||
IsSelected = i % 2 == 0,
|
||||
Name = $"Name{i}",
|
||||
Type = (DemoType) index,
|
||||
ImgPath = $"/HandyControlDemo;component/Resources/Img/Avatar/avatar{index}.png",
|
||||
Remark = new string(i.ToString()[0], 10)
|
||||
};
|
||||
list.Add(model);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetContributorDataList()
|
||||
{
|
||||
var client = new WebClient();
|
||||
client.Headers.Add("User-Agent", "request");
|
||||
var list = new List<AvatarModel>();
|
||||
try
|
||||
{
|
||||
var json = client.DownloadString(new Uri("https://api.github.com/repos/nabian/handycontrol/contributors"));
|
||||
var objList = JsonConvert.DeserializeObject<List<dynamic>>(json);
|
||||
list.AddRange(objList.Select(item => new AvatarModel
|
||||
{
|
||||
DisplayName = item.login,
|
||||
AvatarUri = item.avatar_url,
|
||||
Link = item.html_url
|
||||
}));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
HandyControl.Controls.MessageBox.Error(e.Message, Lang.Error);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetBlogDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "林德熙",
|
||||
AvatarUri = "https://avatars3.githubusercontent.com/u/16054566?s=400&v=4",
|
||||
Link = "https://blog.lindexi.com/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "吕毅",
|
||||
AvatarUri = "https://avatars2.githubusercontent.com/u/9959623?s=400&v=4",
|
||||
Link = "https://blog.walterlv.com/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "DinoChan",
|
||||
AvatarUri = "https://avatars1.githubusercontent.com/u/6076257?s=400&v=4",
|
||||
Link = "https://www.cnblogs.com/dino623/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "noctwolf",
|
||||
AvatarUri = "https://avatars3.githubusercontent.com/u/21022467?s=400&v=4",
|
||||
Link = "https://www.cnblogs.com/noctwolf/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "关关长语",
|
||||
AvatarUri = "https://avatars3.githubusercontent.com/u/25916858?s=400&v=4",
|
||||
Link = "https://blog.csdn.net/qq_28806349/category_11213909.html"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetProjectDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "phpEnv",
|
||||
AvatarUri = "https://cdn.phpenv.cn:444/logo.png",
|
||||
Link = "https://www.phpenv.cn/"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "AutumnBox",
|
||||
AvatarUri = "https://raw.githubusercontent.com/zsh2401/AutumnBox/master/src/AutumnBox.GUI/Resources/Images/icon.png",
|
||||
Link = "https://github.com/zsh2401/AutumnBox"
|
||||
},
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "quicker",
|
||||
AvatarUri = "https://files.getquicker.net/_sitefiles/quicker_round_128.png",
|
||||
Link = "https://getquicker.net"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<AvatarModel> GetWebsiteDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new AvatarModel
|
||||
{
|
||||
DisplayName = "Dotnet9",
|
||||
AvatarUri = "https://pic.cnblogs.com/avatar/1663243/20191124121029.png",
|
||||
Link = "https://dotnet9.com/"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal ObservableCollection<CardModel> GetCardDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new CardModel
|
||||
{
|
||||
Header = "Atomic",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/1.jpg",
|
||||
Footer = "Stive Morgan"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Zinderlong",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/2.jpg",
|
||||
Footer = "Zonderling"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Busy Doin' Nothin'",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/3.jpg",
|
||||
Footer = "Ace Wilder"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Wrong",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/4.jpg",
|
||||
Footer = "Blaxy Girls"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "The Lights",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/5.jpg",
|
||||
Footer = "Panda Eyes"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "EA7-50-Cent Disco",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/6.jpg",
|
||||
Footer = "еяхат музыка"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Monsters",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/7.jpg",
|
||||
Footer = "Different Heaven"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Gangsta Walk",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/8.jpg",
|
||||
Footer = "Illusionize"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Won't Back Down",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/9.jpg",
|
||||
Footer = "Boehm / Benjamin Francis Leftwich"
|
||||
},
|
||||
new CardModel
|
||||
{
|
||||
Header = "Katchi",
|
||||
Content = "/HandyControlDemo;component/Resources/Img/Album/10.jpg",
|
||||
Footer = "Ofenbach / Nick Waterhouse"
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal CardModel GetCardData()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
Content = $"/HandyControlDemo;component/Resources/Img/Album/{DateTime.Now.Second % 10 + 1}.jpg"
|
||||
};
|
||||
}
|
||||
|
||||
internal List<StepBarDemoModel> GetStepBarDemoDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.Register
|
||||
},
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.BasicInfo
|
||||
},
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.UploadFile
|
||||
},
|
||||
new StepBarDemoModel
|
||||
{
|
||||
Header = LangKeys.Step,
|
||||
Content = LangKeys.Complete
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal ObservableCollection<CoverViewDemoModel> GetCoverViewDemoDataList()
|
||||
{
|
||||
return new()
|
||||
{
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/1.jpg",
|
||||
BackgroundToken = ResourceToken.SuccessBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/2.jpg",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/3.jpg",
|
||||
BackgroundToken = ResourceToken.WarningBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/4.jpg",
|
||||
BackgroundToken = ResourceToken.DangerBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/5.jpg",
|
||||
BackgroundToken = ResourceToken.SuccessBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/6.jpg",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/7.jpg",
|
||||
BackgroundToken = ResourceToken.InfoBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/8.jpg",
|
||||
BackgroundToken = ResourceToken.WarningBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/9.jpg",
|
||||
BackgroundToken = ResourceToken.PrimaryBrush
|
||||
},
|
||||
new CoverViewDemoModel
|
||||
{
|
||||
ImgPath = "/HandyControlDemo;component/Resources/Img/Album/10.jpg",
|
||||
BackgroundToken = ResourceToken.DangerBrush
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
internal List<DemoInfoModel> GetDemoInfo()
|
||||
{
|
||||
var infoList = new List<DemoInfoModel>();
|
||||
|
||||
var stream = Application.GetResourceStream(new Uri("Data/DemoInfo.json", UriKind.Relative))?.Stream;
|
||||
if (stream == null) return infoList;
|
||||
|
||||
string jsonStr;
|
||||
using (var reader = new StreamReader(stream))
|
||||
{
|
||||
jsonStr = reader.ReadToEnd();
|
||||
}
|
||||
|
||||
var jsonObj = JsonConvert.DeserializeObject<dynamic>(jsonStr);
|
||||
foreach (var item in jsonObj)
|
||||
{
|
||||
var titleKey = (string) item.title;
|
||||
var title = titleKey;
|
||||
List<DemoItemModel> list = Convert2DemoItemList(item.demoItemList);
|
||||
|
||||
var demoInfoModel = new DemoInfoModel
|
||||
{
|
||||
Key = titleKey,
|
||||
Title = title,
|
||||
DemoItemList = list,
|
||||
SelectedIndex = (int) item.selectedIndex,
|
||||
IsGroupEnabled = (bool) item.group
|
||||
};
|
||||
|
||||
var domainName = LangProvider.Culture == null || LangProvider.Culture.Name.ToLower() == "zh-cn"
|
||||
? "handyorg"
|
||||
: "ghost1372";
|
||||
return $"https://{domainName}.github.io/handycontrol/{key}/{demoItem.Name[0].ToString().ToLower()}{demoItem.Name.Substring(1)}";
|
||||
infoList.Add(demoInfoModel);
|
||||
}
|
||||
|
||||
return infoList;
|
||||
}
|
||||
|
||||
private List<DemoItemModel> Convert2DemoItemList(dynamic list)
|
||||
{
|
||||
var resultList = new List<DemoItemModel>();
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
var name = (string) item[0];
|
||||
string targetCtlName = item[1];
|
||||
string imageName = item[2];
|
||||
var isNew = !string.IsNullOrEmpty((string) item[3]);
|
||||
var groupName = (string) item[4];
|
||||
if (string.IsNullOrEmpty(groupName))
|
||||
{
|
||||
groupName = "Misc";
|
||||
}
|
||||
|
||||
resultList.Add(new DemoItemModel
|
||||
{
|
||||
Name = name,
|
||||
TargetCtlName = targetCtlName,
|
||||
ImageName = $"../../Resources/Img/LeftMainContent/{imageName}.png",
|
||||
IsNew = isNew,
|
||||
GroupName = groupName
|
||||
});
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
public string GetDemoUrl(DemoInfoModel demoInfo, DemoItemModel demoItem)
|
||||
{
|
||||
var key = demoInfo.Key switch
|
||||
{
|
||||
"Styles" => "native_controls",
|
||||
"Controls" => "extend_controls",
|
||||
"Tools" => "tools",
|
||||
_ => string.Empty
|
||||
};
|
||||
|
||||
var domainName = LangProvider.Culture == null || LangProvider.Culture.Name.ToLower() == "zh-cn"
|
||||
? "handyorg"
|
||||
: "ghost1372";
|
||||
return $"https://{domainName}.github.io/handycontrol/{key}/{demoItem.Name[0].ToString().ToLower()}{demoItem.Name.Substring(1)}";
|
||||
}
|
||||
}
|
||||
@@ -5,29 +5,28 @@ using System.Windows.Media;
|
||||
using HandyControl.Data;
|
||||
using HandyControl.Tools;
|
||||
|
||||
namespace HandyControlDemo.Tools.Converter
|
||||
namespace HandyControlDemo.Tools.Converter;
|
||||
|
||||
public class HatchBrushConverter : IValueConverter
|
||||
{
|
||||
public class HatchBrushConverter : IValueConverter
|
||||
private readonly HatchBrushGenerator _brushGenerator;
|
||||
|
||||
public HatchBrushConverter()
|
||||
{
|
||||
private readonly HatchBrushGenerator _brushGenerator;
|
||||
_brushGenerator = new HatchBrushGenerator();
|
||||
}
|
||||
|
||||
public HatchBrushConverter()
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is HatchStyle style)
|
||||
{
|
||||
_brushGenerator = new HatchBrushGenerator();
|
||||
return _brushGenerator.GetHatchBrush(style, ResourceHelper.GetResource<Color>(ResourceToken.DarkPrimaryColor), Colors.Transparent);
|
||||
}
|
||||
return Brushes.Transparent;
|
||||
}
|
||||
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value is HatchStyle style)
|
||||
{
|
||||
return _brushGenerator.GetHatchBrush(style, ResourceHelper.GetResource<Color>(ResourceToken.DarkPrimaryColor), Colors.Transparent);
|
||||
}
|
||||
return Brushes.Transparent;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
@@ -4,18 +4,17 @@ using System.Windows.Data;
|
||||
using System.Windows.Media;
|
||||
using HandyControl.Tools;
|
||||
|
||||
namespace HandyControlDemo.Tools.Converter
|
||||
{
|
||||
public class String2BrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value is string str ? ResourceHelper.GetResource<Brush>(str) : default;
|
||||
}
|
||||
namespace HandyControlDemo.Tools.Converter;
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
public class String2BrushConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return value is string str ? ResourceHelper.GetResource<Brush>(str) : default;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
@@ -3,43 +3,42 @@ using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Windows.Data;
|
||||
|
||||
namespace HandyControlDemo.Tools.Converter
|
||||
namespace HandyControlDemo.Tools.Converter;
|
||||
|
||||
public class StringRepeatConverter : IValueConverter
|
||||
{
|
||||
public class StringRepeatConverter : IValueConverter
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
if (value is string strValue)
|
||||
{
|
||||
if (value is string strValue)
|
||||
var builder = new StringBuilder();
|
||||
int num;
|
||||
if (parameter is string numStr)
|
||||
{
|
||||
var builder = new StringBuilder();
|
||||
int num;
|
||||
if (parameter is string numStr)
|
||||
{
|
||||
if (!int.TryParse(numStr, out num))
|
||||
{
|
||||
return strValue;
|
||||
}
|
||||
}
|
||||
else if (parameter is int intValue)
|
||||
{
|
||||
num = intValue;
|
||||
}
|
||||
else
|
||||
if (!int.TryParse(numStr, out num))
|
||||
{
|
||||
return strValue;
|
||||
}
|
||||
for (var i = 0; i < num; i++)
|
||||
{
|
||||
builder.Append(strValue);
|
||||
}
|
||||
return builder.ToString();
|
||||
}
|
||||
return string.Empty;
|
||||
else if (parameter is int intValue)
|
||||
{
|
||||
num = intValue;
|
||||
}
|
||||
else
|
||||
{
|
||||
return strValue;
|
||||
}
|
||||
for (var i = 0; i < num; i++)
|
||||
{
|
||||
builder.Append(strValue);
|
||||
}
|
||||
return builder.ToString();
|
||||
}
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,11 @@
|
||||
using HandyControlDemo.Properties.Langs;
|
||||
|
||||
namespace HandyControlDemo.Tools.Extension
|
||||
namespace HandyControlDemo.Tools.Extension;
|
||||
|
||||
public class LangExtension : HandyControl.Tools.Extension.LangExtension
|
||||
{
|
||||
public class LangExtension : HandyControl.Tools.Extension.LangExtension
|
||||
public LangExtension()
|
||||
{
|
||||
public LangExtension()
|
||||
{
|
||||
Source = LangProvider.Instance;
|
||||
}
|
||||
Source = LangProvider.Instance;
|
||||
}
|
||||
}
|
||||
@@ -1,37 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace HandyControlDemo.Tools
|
||||
namespace HandyControlDemo.Tools;
|
||||
|
||||
internal class AssemblyHelper
|
||||
{
|
||||
internal class AssemblyHelper
|
||||
private static readonly string NameSpaceStr = typeof(AssemblyHelper).Assembly.GetName().Name;
|
||||
|
||||
private static readonly Dictionary<string, object> CacheDic = new();
|
||||
|
||||
public static void Register(string name, object instance) => CacheDic[name] = instance;
|
||||
|
||||
public static object ResolveByKey(string key)
|
||||
{
|
||||
private static readonly string NameSpaceStr = typeof(AssemblyHelper).Assembly.GetName().Name;
|
||||
|
||||
private static readonly Dictionary<string, object> CacheDic = new();
|
||||
|
||||
public static void Register(string name, object instance) => CacheDic[name] = instance;
|
||||
|
||||
public static object ResolveByKey(string key)
|
||||
if (CacheDic.TryGetValue(key, out var value))
|
||||
{
|
||||
if (CacheDic.TryGetValue(key, out var value))
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
return null;
|
||||
return value;
|
||||
}
|
||||
|
||||
public static object CreateInternalInstance(string className)
|
||||
return null;
|
||||
}
|
||||
|
||||
public static object CreateInternalInstance(string className)
|
||||
{
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
var type = Type.GetType($"{NameSpaceStr}.{className}");
|
||||
return type == null ? null : Activator.CreateInstance(type);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
var type = Type.GetType($"{NameSpaceStr}.{className}");
|
||||
return type == null ? null : Activator.CreateInstance(type);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
using System.Diagnostics;
|
||||
using System.Reflection;
|
||||
|
||||
namespace HandyControlDemo.Tools
|
||||
namespace HandyControlDemo.Tools;
|
||||
|
||||
internal class VersionHelper
|
||||
{
|
||||
internal class VersionHelper
|
||||
internal static string GetVersion()
|
||||
{
|
||||
internal static string GetVersion()
|
||||
{
|
||||
var versionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);
|
||||
var versionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);
|
||||
#if NET40
|
||||
var netVersion = "NET 40";
|
||||
var netVersion = "NET 40";
|
||||
#elif NET45
|
||||
var netVersion = "NET 45";
|
||||
#elif NET451
|
||||
@@ -35,14 +35,13 @@ namespace HandyControlDemo.Tools
|
||||
#elif NET6_0
|
||||
var netVersion = "NET 60";
|
||||
#elif NETCOREAPP3_0
|
||||
var netVersion = "CORE 30";
|
||||
var netVersion = "CORE 30";
|
||||
#elif NETCOREAPP3_1
|
||||
var netVersion = "CORE 31";
|
||||
#endif
|
||||
return $"v {versionInfo.FileVersion} {netVersion}";
|
||||
}
|
||||
|
||||
internal static string GetCopyright() =>
|
||||
FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).LegalCopyright;
|
||||
return $"v {versionInfo.FileVersion} {netVersion}";
|
||||
}
|
||||
|
||||
internal static string GetCopyright() =>
|
||||
FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location).LegalCopyright;
|
||||
}
|
||||
@@ -1,14 +1,13 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace HandyControlDemo.Tools
|
||||
{
|
||||
internal class Win32Helper
|
||||
{
|
||||
[DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)]
|
||||
public static extern bool SetForegroundWindow(IntPtr hWnd);
|
||||
namespace HandyControlDemo.Tools;
|
||||
|
||||
[DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
|
||||
public static extern int MciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
|
||||
}
|
||||
internal class Win32Helper
|
||||
{
|
||||
[DllImport("user32.dll", ExactSpelling = true, CharSet = CharSet.Auto)]
|
||||
public static extern bool SetForegroundWindow(IntPtr hWnd);
|
||||
|
||||
[DllImport("winmm.dll", EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
|
||||
public static extern int MciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
|
||||
}
|
||||
@@ -6,75 +6,74 @@ using HandyControl.Data;
|
||||
using ICSharpCode.AvalonEdit.Highlighting;
|
||||
using ICSharpCode.AvalonEdit.Highlighting.Xshd;
|
||||
|
||||
namespace HandyControlDemo.Tools
|
||||
namespace HandyControlDemo.Tools;
|
||||
|
||||
internal class HighlightingProvider
|
||||
{
|
||||
internal class HighlightingProvider
|
||||
public static HighlightingProvider Default = new Lazy<HighlightingProvider>(() => new HighlightingProvider()).Value;
|
||||
|
||||
protected static readonly Lazy<IHighlightingDefinition> DefaultDefinition = new(() => HighlightingManager.Instance.GetDefinition("C#"));
|
||||
|
||||
private static readonly Dictionary<SkinType, HighlightingProvider> Providers = new();
|
||||
|
||||
protected Dictionary<string, Lazy<IHighlightingDefinition>> Definition;
|
||||
|
||||
public static void Register(SkinType skinType, HighlightingProvider provider)
|
||||
{
|
||||
public static HighlightingProvider Default = new Lazy<HighlightingProvider>(() => new HighlightingProvider()).Value;
|
||||
|
||||
protected static readonly Lazy<IHighlightingDefinition> DefaultDefinition = new(() => HighlightingManager.Instance.GetDefinition("C#"));
|
||||
|
||||
private static readonly Dictionary<SkinType, HighlightingProvider> Providers = new();
|
||||
|
||||
protected Dictionary<string, Lazy<IHighlightingDefinition>> Definition;
|
||||
|
||||
public static void Register(SkinType skinType, HighlightingProvider provider)
|
||||
{
|
||||
Providers[skinType] = provider ?? throw new ArgumentNullException(nameof(provider));
|
||||
provider.InitDefinitions();
|
||||
}
|
||||
|
||||
public static IHighlightingDefinition GetDefinition(SkinType skinType, string name)
|
||||
{
|
||||
if (Providers.TryGetValue(skinType, out var provider))
|
||||
{
|
||||
return provider.GetDefinition(name);
|
||||
}
|
||||
|
||||
return DefaultDefinition.Value;
|
||||
}
|
||||
|
||||
protected static IHighlightingDefinition LoadDefinition(string xshdName)
|
||||
{
|
||||
var streamResourceInfo = Application.GetResourceStream(new Uri($"pack://application:,,,/Resources/xshd/{xshdName}.xshd"));
|
||||
if (streamResourceInfo == null)
|
||||
{
|
||||
return DefaultDefinition.Value;
|
||||
}
|
||||
|
||||
using var reader = new XmlTextReader(streamResourceInfo.Stream);
|
||||
return HighlightingLoader.Load(reader, HighlightingManager.Instance);
|
||||
}
|
||||
|
||||
protected virtual IHighlightingDefinition GetDefinition(string name)
|
||||
{
|
||||
if (Definition.TryGetValue(name, out var definition))
|
||||
{
|
||||
return definition.Value;
|
||||
}
|
||||
|
||||
return DefaultDefinition.Value;
|
||||
}
|
||||
|
||||
protected virtual void InitDefinitions()
|
||||
{
|
||||
Definition = new Dictionary<string, Lazy<IHighlightingDefinition>>
|
||||
{
|
||||
["XML"] = new(() => HighlightingManager.Instance.GetDefinition("XML")),
|
||||
["C#"] = new(() => DefaultDefinition.Value)
|
||||
};
|
||||
}
|
||||
Providers[skinType] = provider ?? throw new ArgumentNullException(nameof(provider));
|
||||
provider.InitDefinitions();
|
||||
}
|
||||
|
||||
internal class HighlightingProviderDark : HighlightingProvider
|
||||
public static IHighlightingDefinition GetDefinition(SkinType skinType, string name)
|
||||
{
|
||||
protected override void InitDefinitions()
|
||||
if (Providers.TryGetValue(skinType, out var provider))
|
||||
{
|
||||
Definition = new Dictionary<string, Lazy<IHighlightingDefinition>>
|
||||
{
|
||||
["XML"] = new(() => LoadDefinition("XML-Dark")),
|
||||
["C#"] = new(() => LoadDefinition("CSharp-Dark")),
|
||||
};
|
||||
return provider.GetDefinition(name);
|
||||
}
|
||||
|
||||
return DefaultDefinition.Value;
|
||||
}
|
||||
|
||||
protected static IHighlightingDefinition LoadDefinition(string xshdName)
|
||||
{
|
||||
var streamResourceInfo = Application.GetResourceStream(new Uri($"pack://application:,,,/Resources/xshd/{xshdName}.xshd"));
|
||||
if (streamResourceInfo == null)
|
||||
{
|
||||
return DefaultDefinition.Value;
|
||||
}
|
||||
|
||||
using var reader = new XmlTextReader(streamResourceInfo.Stream);
|
||||
return HighlightingLoader.Load(reader, HighlightingManager.Instance);
|
||||
}
|
||||
|
||||
protected virtual IHighlightingDefinition GetDefinition(string name)
|
||||
{
|
||||
if (Definition.TryGetValue(name, out var definition))
|
||||
{
|
||||
return definition.Value;
|
||||
}
|
||||
|
||||
return DefaultDefinition.Value;
|
||||
}
|
||||
|
||||
protected virtual void InitDefinitions()
|
||||
{
|
||||
Definition = new Dictionary<string, Lazy<IHighlightingDefinition>>
|
||||
{
|
||||
["XML"] = new(() => HighlightingManager.Instance.GetDefinition("XML")),
|
||||
["C#"] = new(() => DefaultDefinition.Value)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
internal class HighlightingProviderDark : HighlightingProvider
|
||||
{
|
||||
protected override void InitDefinitions()
|
||||
{
|
||||
Definition = new Dictionary<string, Lazy<IHighlightingDefinition>>
|
||||
{
|
||||
["XML"] = new(() => LoadDefinition("XML-Dark")),
|
||||
["C#"] = new(() => LoadDefinition("CSharp-Dark")),
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System.Globalization;
|
||||
using System.Windows.Controls;
|
||||
|
||||
namespace HandyControlDemo.Tools;
|
||||
|
||||
public class NumericUpDownDemoRule : ValidationRule
|
||||
{
|
||||
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
|
||||
{
|
||||
if (value is not double doubleValue)
|
||||
{
|
||||
return new ValidationResult(false, HandyControl.Properties.Langs.Lang.FormatError);
|
||||
}
|
||||
|
||||
return doubleValue % 2 > double.Epsilon
|
||||
? new ValidationResult(false, Properties.Langs.Lang.Error)
|
||||
: ValidationResult.ValidResult;
|
||||
}
|
||||
}
|
||||
@@ -1,40 +1,39 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Media.Imaging;
|
||||
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class Avatar
|
||||
{
|
||||
public partial class Avatar
|
||||
public Avatar()
|
||||
{
|
||||
public Avatar()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty SourceProperty = DependencyProperty.Register(
|
||||
"Source", typeof(BitmapFrame), typeof(Avatar), new PropertyMetadata(default(BitmapFrame)));
|
||||
public static readonly DependencyProperty SourceProperty = DependencyProperty.Register(
|
||||
"Source", typeof(BitmapFrame), typeof(Avatar), new PropertyMetadata(default(BitmapFrame)));
|
||||
|
||||
public BitmapFrame Source
|
||||
{
|
||||
get => (BitmapFrame) GetValue(SourceProperty);
|
||||
set => SetValue(SourceProperty, value);
|
||||
}
|
||||
public BitmapFrame Source
|
||||
{
|
||||
get => (BitmapFrame) GetValue(SourceProperty);
|
||||
set => SetValue(SourceProperty, value);
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty UserNameProperty = DependencyProperty.Register(
|
||||
"DisplayName", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
public static readonly DependencyProperty UserNameProperty = DependencyProperty.Register(
|
||||
"DisplayName", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
|
||||
public string DisplayName
|
||||
{
|
||||
get => (string) GetValue(UserNameProperty);
|
||||
set => SetValue(UserNameProperty, value);
|
||||
}
|
||||
public string DisplayName
|
||||
{
|
||||
get => (string) GetValue(UserNameProperty);
|
||||
set => SetValue(UserNameProperty, value);
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty LinkProperty = DependencyProperty.Register(
|
||||
"Link", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
public static readonly DependencyProperty LinkProperty = DependencyProperty.Register(
|
||||
"Link", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
|
||||
public string Link
|
||||
{
|
||||
get => (string) GetValue(LinkProperty);
|
||||
set => SetValue(LinkProperty, value);
|
||||
}
|
||||
public string Link
|
||||
{
|
||||
get => (string) GetValue(LinkProperty);
|
||||
set => SetValue(LinkProperty, value);
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,21 @@
|
||||
using System.Windows.Controls;
|
||||
using HandyControl.Tools;
|
||||
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class ChatBox
|
||||
{
|
||||
public partial class ChatBox
|
||||
private ScrollViewer _scrollViewer;
|
||||
|
||||
public ChatBox()
|
||||
{
|
||||
private ScrollViewer _scrollViewer;
|
||||
InitializeComponent();
|
||||
ListBoxChat.ItemContainerGenerator.ItemsChanged += ItemContainerGenerator_ItemsChanged;
|
||||
}
|
||||
|
||||
public ChatBox()
|
||||
{
|
||||
InitializeComponent();
|
||||
ListBoxChat.ItemContainerGenerator.ItemsChanged += ItemContainerGenerator_ItemsChanged;
|
||||
}
|
||||
|
||||
private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
|
||||
{
|
||||
_scrollViewer ??= VisualHelper.GetChild<ScrollViewer>(ListBoxChat);
|
||||
_scrollViewer?.ScrollToBottom();
|
||||
}
|
||||
private void ItemContainerGenerator_ItemsChanged(object sender, System.Windows.Controls.Primitives.ItemsChangedEventArgs e)
|
||||
{
|
||||
_scrollViewer ??= VisualHelper.GetChild<ScrollViewer>(ListBoxChat);
|
||||
_scrollViewer?.ScrollToBottom();
|
||||
}
|
||||
}
|
||||
@@ -1,19 +1,18 @@
|
||||
using System.Windows;
|
||||
using HandyControlDemo.Data;
|
||||
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class GeometryItem
|
||||
{
|
||||
public partial class GeometryItem
|
||||
public GeometryItem() => InitializeComponent();
|
||||
|
||||
public static readonly DependencyProperty InfoProperty = DependencyProperty.Register(
|
||||
"Info", typeof(GeometryItemModel), typeof(GeometryItem), new PropertyMetadata(default(GeometryItemModel)));
|
||||
|
||||
public GeometryItemModel Info
|
||||
{
|
||||
public GeometryItem() => InitializeComponent();
|
||||
|
||||
public static readonly DependencyProperty InfoProperty = DependencyProperty.Register(
|
||||
"Info", typeof(GeometryItemModel), typeof(GeometryItem), new PropertyMetadata(default(GeometryItemModel)));
|
||||
|
||||
public GeometryItemModel Info
|
||||
{
|
||||
get => (GeometryItemModel) GetValue(InfoProperty);
|
||||
set => SetValue(InfoProperty, value);
|
||||
}
|
||||
get => (GeometryItemModel) GetValue(InfoProperty);
|
||||
set => SetValue(InfoProperty, value);
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
internal interface IFull
|
||||
{
|
||||
internal interface IFull
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class InteractiveDialog
|
||||
{
|
||||
public partial class InteractiveDialog
|
||||
public InteractiveDialog()
|
||||
{
|
||||
public InteractiveDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class TextDialog
|
||||
{
|
||||
public partial class TextDialog
|
||||
public TextDialog()
|
||||
{
|
||||
public TextDialog()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -2,23 +2,22 @@
|
||||
using System.Windows.Controls.Primitives;
|
||||
using HandyControl.Tools;
|
||||
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class TextDialogWithTimer
|
||||
{
|
||||
public partial class TextDialogWithTimer
|
||||
public TextDialogWithTimer()
|
||||
{
|
||||
public TextDialogWithTimer()
|
||||
{
|
||||
InitializeComponent();
|
||||
InitializeComponent();
|
||||
|
||||
var animation = AnimationHelper.CreateAnimation(100, 5000);
|
||||
animation.EasingFunction = null;
|
||||
animation.Completed += Animation_Completed;
|
||||
ProgressBarTimer.BeginAnimation(RangeBase.ValueProperty, animation);
|
||||
}
|
||||
var animation = AnimationHelper.CreateAnimation(100, 5000);
|
||||
animation.EasingFunction = null;
|
||||
animation.Completed += Animation_Completed;
|
||||
ProgressBarTimer.BeginAnimation(RangeBase.ValueProperty, animation);
|
||||
}
|
||||
|
||||
private void Animation_Completed(object sender, EventArgs e)
|
||||
{
|
||||
ButtonClose.Command.Execute(null);
|
||||
}
|
||||
private void Animation_Completed(object sender, EventArgs e)
|
||||
{
|
||||
ButtonClose.Command.Execute(null);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class AnimationPathDemoCtl
|
||||
{
|
||||
public partial class AnimationPathDemoCtl
|
||||
public AnimationPathDemoCtl()
|
||||
{
|
||||
public AnimationPathDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class AutoCompleteTextBoxDemoCtl
|
||||
{
|
||||
public partial class AutoCompleteTextBoxDemoCtl
|
||||
public AutoCompleteTextBoxDemoCtl()
|
||||
{
|
||||
public AutoCompleteTextBoxDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -7,25 +7,25 @@
|
||||
Background="{DynamicResource RegionBrush}"
|
||||
DataContext="{Binding BadgeDemo, Source={StaticResource Locator}}">
|
||||
<hc:TransitioningContentControl>
|
||||
<StackPanel Margin="32" Orientation="Horizontal">
|
||||
<hc:UniformSpacingPanel Margin="32" Spacing="32" ChildWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Center">
|
||||
<hc:Badge Text="New" BadgeMargin="0,-14,-20,0" Height="30">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Comment}}"/>
|
||||
</hc:Badge>
|
||||
<hc:Badge Text="New" BadgeMargin="0,-14,-20,0" Height="30" Margin="32,0,0,0" Style="{StaticResource BadgeDanger}">
|
||||
<hc:Badge Text="New" BadgeMargin="0,-14,-20,0" Height="30" Style="{StaticResource BadgeDanger}">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Comment}}"/>
|
||||
</hc:Badge>
|
||||
<hc:Badge Value="{Binding Count}" BadgeMargin="0,-14,-10,0" Height="30" Margin="32,0,0,0" Style="{StaticResource BadgePrimary}">
|
||||
<hc:Badge Value="{Binding Count}" BadgeMargin="0,-14,-10,0" Height="30" Style="{StaticResource BadgePrimary}">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Click2Count}}" Command="{Binding CountCmd}"/>
|
||||
</hc:Badge>
|
||||
<hc:Badge Value="100" BadgeMargin="0,-14,-20,0" Height="30" Margin="32,0,0,0" Style="{StaticResource BadgeDanger}">
|
||||
<hc:Badge Value="100" BadgeMargin="0,-14,-20,0" Height="30" Style="{StaticResource BadgeDanger}">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Comment}}"/>
|
||||
</hc:Badge>
|
||||
<hc:Badge Status="Dot" Height="30" Margin="32,0,0,0" Style="{StaticResource BadgeDanger}">
|
||||
<hc:Badge Status="Dot" Height="30" Style="{StaticResource BadgeDanger}">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Reply}}"/>
|
||||
</hc:Badge>
|
||||
<hc:Badge Status="Processing" Height="30" Margin="32,0,0,0" Style="{StaticResource BadgeDanger}">
|
||||
<hc:Badge Status="Processing" Height="30" Style="{StaticResource BadgeDanger}">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Reply}}" />
|
||||
</hc:Badge>
|
||||
</StackPanel>
|
||||
</hc:UniformSpacingPanel>
|
||||
</hc:TransitioningContentControl>
|
||||
</UserControl>
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class BadgeDemoCtl
|
||||
{
|
||||
public partial class BadgeDemoCtl
|
||||
public BadgeDemoCtl()
|
||||
{
|
||||
public BadgeDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -6,67 +6,69 @@
|
||||
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
|
||||
xmlns:ex="clr-namespace:HandyControlDemo.Tools.Extension">
|
||||
<hc:TransitioningContentControl>
|
||||
<WrapPanel Margin="16" VerticalAlignment="Center">
|
||||
<StackPanel Margin="16">
|
||||
<hc:ButtonGroup>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Margin="0,32,0,0">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Margin="0,32,0,0" Style="{StaticResource ButtonGroupSolid}">
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Margin="0,32,0,0">
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
</hc:ButtonGroup>
|
||||
</StackPanel>
|
||||
<StackPanel Margin="16" Orientation="Horizontal">
|
||||
<hc:ButtonGroup Orientation="Vertical">
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Margin="32,0,0,0" Orientation="Vertical">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Margin="32,0,0,0" Style="{StaticResource ButtonGroupSolid}" Orientation="Vertical">
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Margin="32,0,0,0" Orientation="Vertical">
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
</hc:ButtonGroup>
|
||||
</StackPanel>
|
||||
</WrapPanel>
|
||||
<hc:ScrollViewer IsInertiaEnabled="True">
|
||||
<hc:UniformSpacingPanel Margin="32" Spacing="32" ChildWrapping="Wrap" VerticalAlignment="Center">
|
||||
<hc:UniformSpacingPanel Spacing="32" Orientation="Vertical">
|
||||
<hc:ButtonGroup>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Style="{StaticResource ButtonGroupSolid}">
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
</hc:ButtonGroup>
|
||||
</hc:UniformSpacingPanel>
|
||||
<hc:UniformSpacingPanel Spacing="32" ChildWrapping="Wrap">
|
||||
<hc:ButtonGroup Orientation="Vertical">
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Orientation="Vertical">
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Style="{StaticResource ButtonGroupSolid}" Orientation="Vertical">
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
</hc:ButtonGroup>
|
||||
<hc:ButtonGroup Orientation="Vertical">
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}" IsChecked="True"/>
|
||||
<RadioButton Content="{ex:Lang Key={x:Static langs:LangKeys.RadioButton}}"/>
|
||||
<Button Content="{ex:Lang Key={x:Static langs:LangKeys.Button}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}"/>
|
||||
<ToggleButton Content="{ex:Lang Key={x:Static langs:LangKeys.ToggleButton}}" IsChecked="True"/>
|
||||
</hc:ButtonGroup>
|
||||
</hc:UniformSpacingPanel>
|
||||
</hc:UniformSpacingPanel>
|
||||
</hc:ScrollViewer>
|
||||
</hc:TransitioningContentControl>
|
||||
</UserControl>
|
||||
@@ -1,40 +1,39 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Media.Imaging;
|
||||
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class ButtonGroupDemoCtl
|
||||
{
|
||||
public partial class ButtonGroupDemoCtl
|
||||
public ButtonGroupDemoCtl()
|
||||
{
|
||||
public ButtonGroupDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty SourceProperty = DependencyProperty.Register(
|
||||
"Source", typeof(BitmapFrame), typeof(Avatar), new PropertyMetadata(default(BitmapFrame)));
|
||||
public static readonly DependencyProperty SourceProperty = DependencyProperty.Register(
|
||||
"Source", typeof(BitmapFrame), typeof(Avatar), new PropertyMetadata(default(BitmapFrame)));
|
||||
|
||||
public BitmapFrame Source
|
||||
{
|
||||
get => (BitmapFrame) GetValue(SourceProperty);
|
||||
set => SetValue(SourceProperty, value);
|
||||
}
|
||||
public BitmapFrame Source
|
||||
{
|
||||
get => (BitmapFrame) GetValue(SourceProperty);
|
||||
set => SetValue(SourceProperty, value);
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty UserNameProperty = DependencyProperty.Register(
|
||||
"DisplayName", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
public static readonly DependencyProperty UserNameProperty = DependencyProperty.Register(
|
||||
"DisplayName", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
|
||||
public string DisplayName
|
||||
{
|
||||
get => (string) GetValue(UserNameProperty);
|
||||
set => SetValue(UserNameProperty, value);
|
||||
}
|
||||
public string DisplayName
|
||||
{
|
||||
get => (string) GetValue(UserNameProperty);
|
||||
set => SetValue(UserNameProperty, value);
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty LinkProperty = DependencyProperty.Register(
|
||||
"Link", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
public static readonly DependencyProperty LinkProperty = DependencyProperty.Register(
|
||||
"Link", typeof(string), typeof(Avatar), new PropertyMetadata(default(string)));
|
||||
|
||||
public string Link
|
||||
{
|
||||
get => (string) GetValue(LinkProperty);
|
||||
set => SetValue(LinkProperty, value);
|
||||
}
|
||||
public string Link
|
||||
{
|
||||
get => (string) GetValue(LinkProperty);
|
||||
set => SetValue(LinkProperty, value);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class CalendarWithClockDemoCtl
|
||||
{
|
||||
public partial class CalendarWithClockDemoCtl
|
||||
public CalendarWithClockDemoCtl()
|
||||
{
|
||||
public CalendarWithClockDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
xmlns:data="clr-namespace:HandyControlDemo.Data">
|
||||
<hc:TransitioningContentControl>
|
||||
<ListBox Margin="32" BorderThickness="0" Style="{StaticResource WrapPanelHorizontalListBox}" ItemsPanel="{StaticResource FluidMoveBehaviorWrapPanelItemsPanelTemplate}" ItemsSource="{Binding DataList}">
|
||||
<ListBox Margin="32" hc:ScrollViewer.IsInertiaEnabled="True" BorderThickness="0" Style="{StaticResource WrapPanelHorizontalListBox}" ItemsPanel="{StaticResource FluidMoveBehaviorWrapPanelItemsPanelTemplate}" ItemsSource="{Binding DataList}">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate DataType="data:CardModel">
|
||||
<hc:Card MaxWidth="240" BorderThickness="0" Effect="{StaticResource EffectShadow2}" Margin="8" Footer="{Binding Footer}">
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class CardDemoCtl
|
||||
{
|
||||
public partial class CardDemoCtl
|
||||
public CardDemoCtl()
|
||||
{
|
||||
public CardDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
Background="{DynamicResource RegionBrush}"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol">
|
||||
<hc:TransitioningContentControl>
|
||||
<hc:Carousel Margin="32" IsCenter="True" AutoRun="True" Width="600" Height="330" VerticalAlignment="Center">
|
||||
<hc:Carousel Margin="32" IsCenter="True" AutoRun="True" MaxWidth="600" Height="330" VerticalAlignment="Center">
|
||||
<Image Width="600" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/1.jpg"/>
|
||||
<Image Width="300" Stretch="UniformToFill" Source="/HandyControlDemo;component/Resources/Img/2.jpg"/>
|
||||
<hc:SimplePanel Width="600">
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class CarouselDemoCtl
|
||||
{
|
||||
public partial class CarouselDemoCtl
|
||||
public CarouselDemoCtl()
|
||||
{
|
||||
public CarouselDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -5,17 +5,19 @@
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
Background="{DynamicResource RegionBrush}">
|
||||
<hc:TransitioningContentControl>
|
||||
<StackPanel Orientation="Horizontal" Margin="32">
|
||||
<userControl:ChatBox>
|
||||
<userControl:ChatBox.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/Chat/chat_back1.jpg" Stretch="Uniform"/>
|
||||
</userControl:ChatBox.Background>
|
||||
</userControl:ChatBox>
|
||||
<userControl:ChatBox Margin="32,0,0,0">
|
||||
<userControl:ChatBox.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/Chat/chat_back2.jpg" Stretch="Uniform"/>
|
||||
</userControl:ChatBox.Background>
|
||||
</userControl:ChatBox>
|
||||
</StackPanel>
|
||||
<hc:ScrollViewer IsInertiaEnabled="True">
|
||||
<hc:UniformSpacingPanel Spacing="32" ChildWrapping="Wrap" Margin="32">
|
||||
<userControl:ChatBox>
|
||||
<userControl:ChatBox.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/Chat/chat_back1.jpg" Stretch="Uniform"/>
|
||||
</userControl:ChatBox.Background>
|
||||
</userControl:ChatBox>
|
||||
<userControl:ChatBox>
|
||||
<userControl:ChatBox.Background>
|
||||
<ImageBrush ImageSource="/HandyControlDemo;component/Resources/Img/Chat/chat_back2.jpg" Stretch="Uniform"/>
|
||||
</userControl:ChatBox.Background>
|
||||
</userControl:ChatBox>
|
||||
</hc:UniformSpacingPanel>
|
||||
</hc:ScrollViewer>
|
||||
</hc:TransitioningContentControl>
|
||||
</UserControl>
|
||||
@@ -1,10 +1,9 @@
|
||||
namespace HandyControlDemo.UserControl
|
||||
namespace HandyControlDemo.UserControl;
|
||||
|
||||
public partial class ChatBubbleDemoCtl
|
||||
{
|
||||
public partial class ChatBubbleDemoCtl
|
||||
public ChatBubbleDemoCtl()
|
||||
{
|
||||
public ChatBubbleDemoCtl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
<UserControl x:Class="HandyControlDemo.UserControl.CheckComboBoxDemoCtl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
DataContext="{Binding ComboBoxDemo,Source={StaticResource Locator}}"
|
||||
DataContext="{Binding InputElementDemo,Source={StaticResource Locator}}"
|
||||
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
|
||||
xmlns:ex="clr-namespace:HandyControlDemo.Tools.Extension"
|
||||
xmlns:hc="https://handyorg.github.io/handycontrol"
|
||||
Background="{DynamicResource RegionBrush}">
|
||||
<hc:TransitioningContentControl>
|
||||
<ScrollViewer>
|
||||
<hc:ScrollViewer IsInertiaEnabled="True">
|
||||
<hc:UniformSpacingPanel Spacing="32" Margin="32" ChildWrapping="Wrap">
|
||||
<StackPanel>
|
||||
<hc:CheckComboBox ShowClearButton="True" MaxWidth="380" ItemsSource="{Binding DataList}" ShowSelectAllButton="True"/>
|
||||
@@ -50,6 +50,6 @@
|
||||
<hc:CheckComboBox MaxWidth="380" ItemsSource="{Binding DataList}" ShowClearButton="True" Width="380" hc:InfoElement.TitleWidth="140" hc:InfoElement.TitlePlacement="Left" hc:InfoElement.Placeholder="{ex:Lang Key={x:Static langs:LangKeys.PlsEnterContent}}" hc:InfoElement.Title="{ex:Lang Key={x:Static langs:LangKeys.TitleDemoStr3}}" Style="{StaticResource CheckComboBoxPlus.Small}" hc:InfoElement.Necessary="True" Margin="0,16,0,0"/>
|
||||
</StackPanel>
|
||||
</hc:UniformSpacingPanel>
|
||||
</ScrollViewer>
|
||||
</hc:ScrollViewer>
|
||||
</hc:TransitioningContentControl>
|
||||
</UserControl>
|
||||