Merge branch 'gghc' into gg

This commit is contained in:
guanguanchuangyu committed 2020-02-29 18:07:55 +08:00
commit be2d7ebbe6
93 files changed
+2177 -638

No files matched your search

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2019 HandyOrg
Copyright (c) 2018-2020 HandyOrg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HandyControl_VS2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
@@ -1,7 +1,7 @@
<?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="5949c79d-eb43-4033-8b7b-9349d34512c6" Version="2.3.0" Language="en-US" Publisher="HandyOrg" />
<Identity Id="5949c79d-eb43-4033-8b7b-9349d34512c6" Version="2.4.0" Language="en-US" Publisher="HandyOrg" />
<DisplayName>HandyControl for VS2019</DisplayName>
<Description xml:space="preserve">This VSIX Project will help people initialize a HandyControl project.</Description>
<MoreInfo>https://handyorg.github.io/handycontrol</MoreInfo>
@@ -34,8 +34,8 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="HandyControl, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\HandyControl.2.3.0\lib\net47\HandyControl.dll</HintPath>
<Reference Include="HandyControl, Version=2.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\HandyControl.2.4.0\lib\net47\HandyControl.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Xaml">
@@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HandyControl_VS2019_WpfApp")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("2.3.0")]
[assembly: AssemblyFileVersion("2.3.0")]
[assembly: AssemblyVersion("2.4.0")]
[assembly: AssemblyFileVersion("2.4.0")]
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="HandyControl" version="2.3.0" targetFramework="net47" />
<package id="HandyControl" version="2.4.0" targetFramework="net47" />
</packages>
@@ -7,7 +7,7 @@
<RootNamespace>$safeprojectname$</RootNamespace>
<Version>1.0.0.0</Version>
<Configurations>Debug;Release</Configurations>
<Copyright>Copyright © $username$ 2018-2019</Copyright>
<Copyright>Copyright © $username$ 2018-2020</Copyright>
<FileVersion>1.0.0.0</FileVersion>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<LangVersion>latest</LangVersion>
@@ -19,6 +19,6 @@
<DefineConstants>TRACE;Core</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="HandyControl" Version="2.3.0" />
<PackageReference Include="HandyControl" Version="2.4.0" />
</ItemGroup>
</Project>
@@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HandyControl_VS2019_WpfCoreApp")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("2.3.0")]
[assembly: AssemblyFileVersion("2.3.0")]
[assembly: AssemblyVersion("2.4.0")]
[assembly: AssemblyFileVersion("2.4.0")]
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2019 HandyOrg
Copyright (c) 2018-2020 HandyOrg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+4
View File
@@ -98,6 +98,10 @@ Step 4:enjoy coding
## Latest examples
### GooeyEffect
![GooeyEffect](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/GooeyEffect.gif)
### GlowWindow
![GlowWindow](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/GlowWindow.png)
+10 -2
View File
@@ -47,16 +47,24 @@ Task("Build")
var settingsCore30 = new DotNetCoreBuildSettings
{
Framework = "netcoreapp3.0",
Configuration = "Release",
Configuration = "Release-Core30",
OutputDirectory = "lib/netcoreapp3.0"
};
var settingsCore31 = new DotNetCoreBuildSettings
{
Framework = "netcoreapp3.1",
Configuration = "Release-Core31",
OutputDirectory = "lib/netcoreapp3.1"
};
MSBuild("../src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj", settingsNet40);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet45);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet462);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet47);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet48);
DotNetCoreBuild("../src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj", settingsCore30);
DotNetCoreBuild("../src/Core_GE30/HandyControl_Core_GE30/HandyControl_Core_GE30.csproj", settingsCore30);
DotNetCoreBuild("../src/Core_GE30/HandyControl_Core_GE30/HandyControl_Core_GE30.csproj", settingsCore31);
});
RunTarget(target);
+2 -2
View File
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>HandyControl</id>
<version>2.3.0</version>
<version>2.4.0</version>
<title>HandyOrg</title>
<authors>HandyOrg</authors>
<owners>HandyOrg</owners>
@@ -11,7 +11,7 @@
<iconUrl>https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/icon.png</iconUrl>
<description>Contains some commonly used simple WPF controls</description>
<releaseNotes>Changes are detailed at https://github.com/HandyOrg/HandyControl/releases</releaseNotes>
<copyright>Copyright © HandyOrg 2018-2019</copyright>
<copyright>Copyright © HandyOrg 2018-2020</copyright>
<language></language>
<tags>WPF C# Control</tags>
<repository type="git" url="https://github.com/HandyOrg/HandyControl" commit="1af8ac90f497e6c65e4d596604f89f54e21cbcc6" />
-1
View File
@@ -25,7 +25,6 @@ title: 国际化
* 简体中文(zh-cn)
* 英文(en)
* 英文(en)
* 波斯语(fa)
* 法语(fr)
* 韩文 (ko-kr)
@@ -90,7 +90,7 @@ title: ToggleButton 切换按钮
## 相关样式
| 名称 | 继承自 |
| - | - | - |
| - | - |
| ToggleButtonSwitch | ToggleButtonSwitchBaseStyle |
案例:
@@ -174,4 +174,4 @@ title: ToggleButton 切换按钮
效果:
![ToggleButtonCustom](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonCustom.png)
![ToggleButtonCustom](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonCustom.png)
@@ -1,26 +1,36 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>HandyControlDemo</AssemblyName>
<RootNamespace>HandyControlDemo</RootNamespace>
<Version>2.4.0</Version>
<Version>2.5.0</Version>
<ApplicationIcon>..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico</ApplicationIcon>
<Configurations>Debug;Release</Configurations>
<Configurations>Debug-Core30;Debug-Core31;Release-Core30;Release-Core31</Configurations>
<Copyright>Copyright © HandyOrg 2018-2020</Copyright>
<FileVersion>2.4.0.0</FileVersion>
<AssemblyVersion>2.4.0.0</AssemblyVersion>
<FileVersion>2.5.0</FileVersion>
<AssemblyVersion>2.5.0</AssemblyVersion>
<LangVersion>8.0</LangVersion>
<Authors>HandyOrg</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit" Version="6.0.1" />
<PackageReference Include="CommonServiceLocator" Version="2.0.2" />
<PackageReference Include="MvvmLightLibs" Version="5.4.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
@@ -46,7 +56,8 @@
<Compile Remove="Tools\Helper\CommonHelper.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HandyControl_Core_30\HandyControl_Core_30.csproj" />
<ProjectReference Include="..\..\Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj" />
<ProjectReference Include="..\HandyControl_Core_GE30\HandyControl_Core_GE30.csproj" />
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Data\DemoInfo.json">
@@ -466,6 +477,9 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\frame_16xLG.png">
<Link>Resources\Img\LeftMainContent\frame_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\cloud.png">
<Link>Resources\Img\cloud.png</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.en.resx">
@@ -1,25 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>HandyControl</AssemblyName>
<RootNamespace>HandyControl</RootNamespace>
<Version>2.4.0</Version>
<AssemblyVersion>2.4.0.0</AssemblyVersion>
<Version>2.5.0</Version>
<AssemblyVersion>2.5.0</AssemblyVersion>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Copyright © HandyOrg 2018-2020</Copyright>
<Description>Contains some commonly used simple WPF controls</Description>
<Configurations>Debug;Release</Configurations>
<Configurations>Debug-Core30;Debug-Core31;Release-Core30;Release-Core31</Configurations>
<LangVersion>8.0</LangVersion>
<Authors>HandyOrg</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<DocumentationFile>C:\Code\GitHub\HandyControl\src\Core_30\HandyControl_Core_30\HandyControl.xml</DocumentationFile>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
<DocumentationFile>C:\Code\GitHub\HandyControl\src\Core_GE30\HandyControl_Core_GE30\HandyControl.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
<DocumentationFile>C:\Code\GitHub\HandyControl\src\Core_GE30\HandyControl_Core_GE30\HandyControl.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
@@ -47,8 +57,8 @@
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\CoreAssemblyInfo.cs">
<Link>Properties\CoreAssemblyInfo.cs</Link>
</Compile>
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
@@ -61,9 +71,18 @@
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\BrightnessEffect.ps">
<Link>Resources\Effects\BrightnessEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorComplementEffect.ps">
<Link>Resources\Effects\ColorComplementEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorMatrixEffect.ps">
<Link>Resources\Effects\ColorMatrixEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ContrastEffect.ps">
<Link>Resources\Effects\ContrastEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
</Resource>
@@ -51,7 +51,7 @@
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<StackPanel Orientation="Horizontal" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
@@ -117,7 +117,7 @@
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter/>
<ContentPresenter ClipToBounds="True"/>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed" WindowChrome.ResizeGripDirection="BottomRight" />
</Grid>
+100 -47
View File
@@ -17,16 +17,18 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControlDemo_Shared", "
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Net_40", "Net_40", "{35E3F9C0-8924-4536-BE09-F3761FDBF066}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_30", "Core_30", "{B838C973-06F0-48A1-B259-A357AAF2D8D4}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_GE30", "Core_GE30", "{B838C973-06F0-48A1-B259-A357AAF2D8D4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_30", "Core_30\HandyControl_Core_30\HandyControl_Core_30.csproj", "{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_GE30", "Core_GE30\HandyControl_Core_GE30\HandyControl_Core_GE30.csproj", "{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core30", "Core_30\HandyControlDemo_Core_30\HandyControlDemo_Core30.csproj", "{D7107690-8592-4F9F-9379-9B82C1C15D2A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core_GE30", "Core_GE30\HandyControlDemo_Core_GE30\HandyControlDemo_Core_GE30.csproj", "{D7107690-8592-4F9F-9379-9B82C1C15D2A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControl_Net_40", "Net_40\HandyControl_Net_40\HandyControl_Net_40.csproj", "{32204503-2EF0-4681-AE13-AA1FEB6C658A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Net_40", "Net_40\HandyControlDemo_Net_40\HandyControlDemo_Net_40.csproj", "{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 4
@@ -38,12 +40,14 @@ Global
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug-Core30|Any CPU = Debug-Core30|Any CPU
Debug-Core31|Any CPU = Debug-Core31|Any CPU
Debug-Net40|Any CPU = Debug-Net40|Any CPU
Debug-Net45|Any CPU = Debug-Net45|Any CPU
Debug-Net462|Any CPU = Debug-Net462|Any CPU
Debug-Net47|Any CPU = Debug-Net47|Any CPU
Debug-Net48|Any CPU = Debug-Net48|Any CPU
Release-Core30|Any CPU = Release-Core30|Any CPU
Release-Core31|Any CPU = Release-Core31|Any CPU
Release-Net40|Any CPU = Release-Net40|Any CPU
Release-Net45|Any CPU = Release-Net45|Any CPU
Release-Net462|Any CPU = Release-Net462|Any CPU
@@ -52,6 +56,7 @@ Global
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Core30|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Core31|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net40|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
@@ -62,6 +67,7 @@ Global
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Core30|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Core31|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net40|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
@@ -72,6 +78,7 @@ Global
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Core30|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Core31|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net40|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
@@ -82,6 +89,7 @@ Global
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Core30|Any CPU.ActiveCfg = Release-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Core31|Any CPU.ActiveCfg = Release-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net40|Any CPU.ActiveCfg = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
@@ -91,43 +99,64 @@ Global
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.Build.0 = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net462|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.Build.0 = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net462|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.ActiveCfg = Debug-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.Build.0 = Debug-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core31|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core31|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net40|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net40|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net45|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net45|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net462|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net462|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net47|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net47|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net48|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net48|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.ActiveCfg = Release-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.Build.0 = Release-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core31|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core31|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net40|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net40|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.ActiveCfg = Debug-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.Build.0 = Debug-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core31|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core31|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net40|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net40|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net45|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net45|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net462|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net462|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net47|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net47|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net48|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net48|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.ActiveCfg = Release-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.Build.0 = Release-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core31|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core31|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net40|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net40|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.Build.0 = Release-Core31|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Core31|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net40|Any CPU.Build.0 = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
@@ -135,17 +164,15 @@ Global
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Core31|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net40|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Core31|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net40|Any CPU.Build.0 = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
@@ -153,16 +180,41 @@ Global
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Core31|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net40|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core30|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core30|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core31|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core31|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net40|Any CPU.ActiveCfg = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net40|Any CPU.Build.0 = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.Build.0 = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core30|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core30|Any CPU.Build.0 = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core31|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core31|Any CPU.Build.0 = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net40|Any CPU.ActiveCfg = Release-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net40|Any CPU.Build.0 = Release-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.ActiveCfg = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.Build.0 = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.ActiveCfg = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -176,6 +228,7 @@ Global
{D7107690-8592-4F9F-9379-9B82C1C15D2A} = {B838C973-06F0-48A1-B259-A357AAF2D8D4}
{32204503-2EF0-4681-AE13-AA1FEB6C658A} = {35E3F9C0-8924-4536-BE09-F3761FDBF066}
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231} = {35E3F9C0-8924-4536-BE09-F3761FDBF066}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
@@ -9,11 +9,13 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControl_Shared", "Shar
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControlDemo_Shared", "Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.shproj", "{C4694269-C9B8-45D5-87F8-D0088C532510}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_30", "Core_30", "{7BB7D82E-48B1-4673-91B6-37D563A0A624}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_GE30", "Core_GE30", "{7BB7D82E-48B1-4673-91B6-37D563A0A624}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_30", "Core_30\HandyControl_Core_30\HandyControl_Core_30.csproj", "{A85722CF-CDF4-4164-94E4-EB71E543361A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_GE30", "Core_GE30\HandyControl_Core_GE30\HandyControl_Core_GE30.csproj", "{A85722CF-CDF4-4164-94E4-EB71E543361A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core30", "Core_30\HandyControlDemo_Core_30\HandyControlDemo_Core30.csproj", "{BF712555-531A-4C8D-9AB5-3109DC178A8E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core_GE30", "Core_GE30\HandyControlDemo_Core_GE30\HandyControlDemo_Core_GE30.csproj", "{BF712555-531A-4C8D-9AB5-3109DC178A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
@@ -33,6 +35,10 @@ Global
{BF712555-531A-4C8D-9AB5-3109DC178A8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BF712555-531A-4C8D-9AB5-3109DC178A8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BF712555-531A-4C8D-9AB5-3109DC178A8E}.Release|Any CPU.Build.0 = Release|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.Build.0 = Release-Net48|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -42,6 +48,7 @@ Global
{C4694269-C9B8-45D5-87F8-D0088C532510} = {60DCDCCA-3902-49EB-BC24-488143BE832E}
{A85722CF-CDF4-4164-94E4-EB71E543361A} = {7BB7D82E-48B1-4673-91B6-37D563A0A624}
{BF712555-531A-4C8D-9AB5-3109DC178A8E} = {7BB7D82E-48B1-4673-91B6-37D563A0A624}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {60DCDCCA-3902-49EB-BC24-488143BE832E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6C8B9B9F-B396-4C31-BA28-11BCB1ED94C5}
+7
View File
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControl_Net_40", "Net_
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Net_40", "Net_40\HandyControlDemo_Net_40\HandyControlDemo_Net_40.csproj", "{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 4
@@ -35,6 +37,10 @@ Global
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release|Any CPU.Build.0 = Release|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.ActiveCfg = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.Build.0 = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.ActiveCfg = Release-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.Build.0 = Release-Net40|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -44,6 +50,7 @@ Global
{C4694269-C9B8-45D5-87F8-D0088C532510} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{32204503-2EF0-4681-AE13-AA1FEB6C658A} = {763DABFC-950A-4965-97CB-15C59A928401}
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231} = {763DABFC-950A-4965-97CB-15C59A928401}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
+31 -12
View File
@@ -15,6 +15,8 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControl_Shared", "Shar
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControlDemo_Shared", "Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.shproj", "{C4694269-C9B8-45D5-87F8-D0088C532510}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{9a7b52e6-94bb-4e7e-bb6a-7cf6761b79a7}*SharedItemsImports = 4
@@ -49,22 +51,38 @@ Global
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.Build.0 = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.Build.0 = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.ActiveCfg = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.Build.0 = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.ActiveCfg = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.Build.0 = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.ActiveCfg = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -74,6 +92,7 @@ Global
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7} = {2F551C62-77F7-4FA5-8AD7-FCF53E92AE08}
{AAC11083-FACA-405D-9197-5C1212D65656} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{C4694269-C9B8-45D5-87F8-D0088C532510} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
@@ -57,6 +57,9 @@
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit">
<Version>6.0.1</Version>
</PackageReference>
<PackageReference Include="MvvmLightLibs">
<Version>5.4.1.1</Version>
</PackageReference>
@@ -395,6 +398,10 @@
</Resource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj">
<Project>{d8a4748c-0500-4f63-bc47-3506658c68f7}</Project>
<Name>HandyControlDemo_Code</Name>
</ProjectReference>
<ProjectReference Include="..\HandyControl_Net_40\HandyControl_Net_40.csproj">
<Project>{32204503-2ef0-4681-ae13-aa1feb6c658a}</Project>
<Name>HandyControl_Net_40</Name>
@@ -537,6 +544,9 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\frame_16xLG.png">
<Link>Resources\Img\LeftMainContent\frame_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\cloud.png">
<Link>Resources\Img\cloud.png</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Data\DemoInfo.json">
@@ -37,8 +37,8 @@
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\NetAssemblyInfo.cs">
<Link>Properties\NetAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
<Link>Properties\Langs\Lang.Designer.cs</Link>
@@ -113,9 +113,18 @@
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\BrightnessEffect.ps">
<Link>Resources\Effects\BrightnessEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorComplementEffect.ps">
<Link>Resources\Effects\ColorComplementEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorMatrixEffect.ps">
<Link>Resources\Effects\ColorMatrixEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ContrastEffect.ps">
<Link>Resources\Effects\ContrastEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
</Resource>
@@ -51,7 +51,7 @@
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<StackPanel Orientation="Horizontal" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
@@ -118,7 +118,7 @@
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter/>
<ContentPresenter ClipToBounds="True"/>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed"/>
</Grid>
@@ -127,12 +127,19 @@
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj">
<Project>{d8a4748c-0500-4f63-bc47-3506658c68f7}</Project>
<Name>HandyControlDemo_Code</Name>
</ProjectReference>
<ProjectReference Include="..\HandyControl_Net_GE45\HandyControl_Net_GE45.csproj">
<Project>{dc966e3d-bcff-4652-98cf-070e5494749a}</Project>
<Name>HandyControl_Net_GE45</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit">
<Version>6.0.1</Version>
</PackageReference>
<PackageReference Include="MvvmLightLibs">
<Version>5.4.1.1</Version>
</PackageReference>
@@ -600,6 +607,9 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\frame_16xLG.png">
<Link>Resources\Img\LeftMainContent\frame_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\cloud.png">
<Link>Resources\Img\cloud.png</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\fabric-icons.ttf">
@@ -112,8 +112,8 @@
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\NetAssemblyInfo.cs">
<Link>Properties\NetAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
<Link>Properties\Langs\Lang.Designer.cs</Link>
@@ -184,9 +184,18 @@
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\BrightnessEffect.ps">
<Link>Resources\Effects\BrightnessEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorComplementEffect.ps">
<Link>Resources\Effects\ColorComplementEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorMatrixEffect.ps">
<Link>Resources\Effects\ColorMatrixEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ContrastEffect.ps">
<Link>Resources\Effects\ContrastEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
</Resource>
@@ -52,7 +52,7 @@
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<StackPanel Orientation="Horizontal" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
@@ -117,7 +117,7 @@
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter/>
<ContentPresenter ClipToBounds="True"/>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed" WindowChrome.ResizeGripDirection="BottomRight" />
</Grid>
@@ -0,0 +1,25 @@
using System;
using System.IO;
using System.Windows;
public class DemoHelper
{
public static void Main()
{
}
public static string GetCode(string demoName)
{
var uri = new Uri($"/HandyControlDemoCode;component/{demoName}", UriKind.Relative);
var resourceStream = Application.GetResourceStream(uri);
if (resourceStream != null)
{
using var reader = new StreamReader(resourceStream.Stream);
var code = reader.ReadToEnd();
return code;
}
return "";
}
}
@@ -0,0 +1,990 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D8A4748C-0500-4F63-BC47-3506658C68F7}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>HandyControlDemoCode</RootNamespace>
<AssemblyName>HandyControlDemoCode</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug-Net40|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;netle45;netle40</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug-Net45|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug-Net462|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug-Net47|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug-Net48|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Net40|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;netle45;netle40</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Net45|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Net462|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Net47|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release-Net48|AnyCPU'">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<Compile Include="DemoHelper.cs" />
</ItemGroup>
<ItemGroup>
<Resource Include="..\HandyControlDemo_Shared\Window\AboutWindow.xaml">
<Link>Window\AboutWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\BlurWindow.xaml">
<Link>Window\BlurWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\CommonWindow.xaml">
<Link>Window\CommonWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\CustomNonClientAreaWindow.xaml">
<Link>Window\CustomNonClientAreaWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\DialogDemoWindow.xaml">
<Link>Window\DialogDemoWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\GlowWindow.xaml">
<Link>Window\GlowWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\GrowlDemoWindow.xaml">
<Link>Window\GrowlDemoWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\NativeCommonWindow.xaml">
<Link>Window\NativeCommonWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\NavigationWindow.xaml">
<Link>Window\NavigationWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\NoNonClientAreaDragableWindow.xaml">
<Link>Window\NoNonClientAreaDragableWindow.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\Avatar.xaml">
<Link>UserControl\Basic\Avatar.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\ChatBox.xaml">
<Link>UserControl\Basic\ChatBox.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\InteractiveDialog.xaml">
<Link>UserControl\Basic\InteractiveDialog.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\TextDialog.xaml">
<Link>UserControl\Basic\TextDialog.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\TextDialogWithTimer.xaml">
<Link>UserControl\Basic\TextDialogWithTimer.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\AnimationPathDemoCtl.xaml">
<Link>UserControl\Controls\AnimationPathDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\BadgeDemoCtl.xaml">
<Link>UserControl\Controls\BadgeDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ButtonGroupDemoCtl.xaml">
<Link>UserControl\Controls\ButtonGroupDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CalendarWithClockDemoCtl.xaml">
<Link>UserControl\Controls\CalendarWithClockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CardDemoCtl.xaml">
<Link>UserControl\Controls\CardDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CarouselDemoCtl.xaml">
<Link>UserControl\Controls\CarouselDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ChatBubbleDemoCtl.xaml">
<Link>UserControl\Controls\ChatBubbleDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CirclePanelDemoCtl.xaml">
<Link>UserControl\Controls\CirclePanelDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ClockDemoCtl.xaml">
<Link>UserControl\Controls\ClockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ColorPickerDemoCtl.xaml">
<Link>UserControl\Controls\ColorPickerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ComboBoxDemoCtl.xaml">
<Link>UserControl\Controls\ComboBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CompareSliderDemoCtl.xaml">
<Link>UserControl\Controls\CompareSliderDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CoverFlowDemoCtl.xaml">
<Link>UserControl\Controls\CoverFlowDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CoverViewDemoCtl.xaml">
<Link>UserControl\Controls\CoverViewDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DatePickerDemoCtl.xaml">
<Link>UserControl\Controls\DatePickerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DateTimePickerDemoCtl.xaml">
<Link>UserControl\Controls\DateTimePickerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DialogDemoCtl.xaml">
<Link>UserControl\Controls\DialogDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DividerDemoCtl.xaml">
<Link>UserControl\Controls\DividerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DrawerDemoCtl.xaml">
<Link>UserControl\Controls\DrawerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\FlipClockDemoCtl.xaml">
<Link>UserControl\Controls\FlipClockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\FloatingBlockDemoCtl.xaml">
<Link>UserControl\Controls\FloatingBlockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GifImageDemoCtl.xaml">
<Link>UserControl\Controls\GifImageDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GotoTopDemoCtl.xaml">
<Link>UserControl\Controls\GotoTopDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GravatarDemoCtl.xaml">
<Link>UserControl\Controls\GravatarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GridDemoCtl.xaml">
<Link>UserControl\Controls\GridDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GrowlDemoCtl.xaml">
<Link>UserControl\Controls\GrowlDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\HoneycombPanelDemoCtl.xaml">
<Link>UserControl\Controls\HoneycombPanelDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ImageBlockDemoCtl.xaml">
<Link>UserControl\Controls\ImageBlockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ImageBrowserDemoCtl.xaml">
<Link>UserControl\Controls\ImageBrowserDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\LoadingDemoCtl.xaml">
<Link>UserControl\Controls\LoadingDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\MagnifierDemoCtl.xaml">
<Link>UserControl\Controls\MagnifierDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\NotificationDemoCtl.xaml">
<Link>UserControl\Controls\NotificationDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\NotifyIconDemoCtl.xaml">
<Link>UserControl\Controls\NotifyIconDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\NumericUpDownDemoCtl.xaml">
<Link>UserControl\Controls\NumericUpDownDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\OutlineTextDemoCtl.xaml">
<Link>UserControl\Controls\OutlineTextDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PaginationDemoCtl.xaml">
<Link>UserControl\Controls\PaginationDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PasswordBoxDemoCtl.xaml">
<Link>UserControl\Controls\PasswordBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PinBoxDemoCtl.xaml">
<Link>UserControl\Controls\PinBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PoptipDemoCtl.xaml">
<Link>UserControl\Controls\PoptipDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PreviewSliderDemoCtl.xaml">
<Link>UserControl\Controls\PreviewSliderDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ProgressBarDemoCtl.xaml">
<Link>UserControl\Controls\ProgressBarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ProgressButtonDemoCtl.xaml">
<Link>UserControl\Controls\ProgressButtonDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RangeSliderDemoCtl.xaml">
<Link>UserControl\Controls\RangeSliderDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RateDemoCtl.xaml">
<Link>UserControl\Controls\RateDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RelativePanelDemoCtl.xaml">
<Link>UserControl\Controls\RelativePanelDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RunningBlockDemoCtl.xaml">
<Link>UserControl\Controls\RunningBlockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ScrollViewerDemoCtl.xaml">
<Link>UserControl\Controls\ScrollViewerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SearchBarDemoCtl.xaml">
<Link>UserControl\Controls\SearchBarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ShieldDemoCtl.xaml">
<Link>UserControl\Controls\ShieldDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SideMenuDemoCtl.xaml">
<Link>UserControl\Controls\SideMenuDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SplitButtonDemoCtl.xaml">
<Link>UserControl\Controls\SplitButtonDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SpriteDemoCtl.xaml">
<Link>UserControl\Controls\SpriteDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\StepBarDemoCtl.xaml">
<Link>UserControl\Controls\StepBarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TabControlDemoCtl.xaml">
<Link>UserControl\Controls\TabControlDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TagDemoCtl.xaml">
<Link>UserControl\Controls\TagDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TextBoxDemoCtl.xaml">
<Link>UserControl\Controls\TextBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TimeBarDemoCtl.xaml">
<Link>UserControl\Controls\TimeBarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TimePickerDemoCtl.xaml">
<Link>UserControl\Controls\TimePickerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TransferDemoCtl.xaml">
<Link>UserControl\Controls\TransferDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TransitioningContentControlDemoCtl.xaml">
<Link>UserControl\Controls\TransitioningContentControlDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\WaterfallPanelDemoCtl.xaml">
<Link>UserControl\Controls\WaterfallPanelDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\WindowDemoCtl.xaml">
<Link>UserControl\Controls\WindowDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\BorderDemoCtl.xaml">
<Link>UserControl\Styles\BorderDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\BrushDemoCtl.xaml">
<Link>UserControl\Styles\BrushDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ButtonDemoCtl.xaml">
<Link>UserControl\Styles\ButtonDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\CalendarDemoCtl.xaml">
<Link>UserControl\Styles\CalendarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\CheckBoxDemoCtl.xaml">
<Link>UserControl\Styles\CheckBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\DataGridDemoCtl.xaml">
<Link>UserControl\Styles\DataGridDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ExpanderDemoCtl.xaml">
<Link>UserControl\Styles\ExpanderDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\FlowDocumentDemoCtl.xaml">
<Link>UserControl\Styles\FlowDocumentDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\FrameDemoCtl.xaml">
<Link>UserControl\Styles\FrameDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\GroupBoxDemoCtl.xaml">
<Link>UserControl\Styles\GroupBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\LabelDemoCtl.xaml">
<Link>UserControl\Styles\LabelDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ListBoxDemoCtl.xaml">
<Link>UserControl\Styles\ListBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ListViewDemoCtl.xaml">
<Link>UserControl\Styles\ListViewDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\MenuDemoCtl.xaml">
<Link>UserControl\Styles\MenuDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeComboBoxDemoCtl.xaml">
<Link>UserControl\Styles\NativeComboBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeDatePickerDemoCtl.xaml">
<Link>UserControl\Styles\NativeDatePickerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativePasswordBoxDemoCtl.xaml">
<Link>UserControl\Styles\NativePasswordBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeProgressBarDemoCtl.xaml">
<Link>UserControl\Styles\NativeProgressBarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeScrollViewerDemoCtl.xaml">
<Link>UserControl\Styles\NativeScrollViewerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeTabControlDemoCtl.xaml">
<Link>UserControl\Styles\NativeTabControlDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeTextBoxDemoCtl.xaml">
<Link>UserControl\Styles\NativeTextBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeWindowDemoCtl.xaml">
<Link>UserControl\Styles\NativeWindowDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\RadioButtonDemoCtl.xaml">
<Link>UserControl\Styles\RadioButtonDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\RepeatButtonDemoCtl.xaml">
<Link>UserControl\Styles\RepeatButtonDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\RichTextBoxDemoCtl.xaml">
<Link>UserControl\Styles\RichTextBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\SliderDemoCtl.xaml">
<Link>UserControl\Styles\SliderDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\TextBlockDemoCtl.xaml">
<Link>UserControl\Styles\TextBlockDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ToggleButtonDemoCtl.xaml">
<Link>UserControl\Styles\ToggleButtonDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ToolBarDemoCtl.xaml">
<Link>UserControl\Styles\ToolBarDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\TreeViewDemoCtl.xaml">
<Link>UserControl\Styles\TreeViewDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Tools\EffectsDemoCtl.xaml">
<Link>UserControl\Tools\EffectsDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Tools\GeometryAnimationDemoCtl.xaml">
<Link>UserControl\Tools\GeometryAnimationDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Tools\HatchBrushGeneratorDemoCtl.xaml">
<Link>UserControl\Tools\HatchBrushGeneratorDemoCtl.xaml</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\HandyControlDemo_Shared\Window\AboutWindow.xaml.cs">
<Link>Window\AboutWindow.xaml.cs</Link>
<DependentUpon>AboutWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\BlurWindow.xaml.cs">
<Link>Window\BlurWindow.xaml.cs</Link>
<DependentUpon>BlurWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\CommonWindow.xaml.cs">
<Link>Window\CommonWindow.xaml.cs</Link>
<DependentUpon>CommonWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\CustomNonClientAreaWindow.xaml.cs">
<Link>Window\CustomNonClientAreaWindow.xaml.cs</Link>
<DependentUpon>CustomNonClientAreaWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\DialogDemoWindow.xaml.cs">
<Link>Window\DialogDemoWindow.xaml.cs</Link>
<DependentUpon>DialogDemoWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\GlowWindow.xaml.cs">
<Link>Window\GlowWindow.xaml.cs</Link>
<DependentUpon>GlowWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\GrowlDemoWindow.xaml.cs">
<Link>Window\GrowlDemoWindow.xaml.cs</Link>
<DependentUpon>GrowlDemoWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\NativeCommonWindow.xaml.cs">
<Link>Window\NativeCommonWindow.xaml.cs</Link>
<DependentUpon>NativeCommonWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\NavigationWindow.xaml.cs">
<Link>Window\NavigationWindow.xaml.cs</Link>
<DependentUpon>NavigationWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\Window\NoNonClientAreaDragableWindow.xaml.cs">
<Link>Window\NoNonClientAreaDragableWindow.xaml.cs</Link>
<DependentUpon>NoNonClientAreaDragableWindow.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\Avatar.xaml.cs">
<Link>UserControl\Basic\Avatar.xaml.cs</Link>
<DependentUpon>Avatar.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\ChatBox.xaml.cs">
<Link>UserControl\Basic\ChatBox.xaml.cs</Link>
<DependentUpon>ChatBox.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\IFull.cs">
<Link>UserControl\Basic\IFull.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\InteractiveDialog.xaml.cs">
<Link>UserControl\Basic\InteractiveDialog.xaml.cs</Link>
<DependentUpon>InteractiveDialog.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\TextDialog.xaml.cs">
<Link>UserControl\Basic\TextDialog.xaml.cs</Link>
<DependentUpon>TextDialog.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Basic\TextDialogWithTimer.xaml.cs">
<Link>UserControl\Basic\TextDialogWithTimer.xaml.cs</Link>
<DependentUpon>TextDialogWithTimer.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\AnimationPathDemoCtl.xaml.cs">
<Link>UserControl\Controls\AnimationPathDemoCtl.xaml.cs</Link>
<DependentUpon>AnimationPathDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\BadgeDemoCtl.xaml.cs">
<Link>UserControl\Controls\BadgeDemoCtl.xaml.cs</Link>
<DependentUpon>BadgeDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ButtonGroupDemoCtl.xaml.cs">
<Link>UserControl\Controls\ButtonGroupDemoCtl.xaml.cs</Link>
<DependentUpon>ButtonGroupDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CalendarWithClockDemoCtl.xaml.cs">
<Link>UserControl\Controls\CalendarWithClockDemoCtl.xaml.cs</Link>
<DependentUpon>CalendarWithClockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CardDemoCtl.xaml.cs">
<Link>UserControl\Controls\CardDemoCtl.xaml.cs</Link>
<DependentUpon>CardDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CarouselDemoCtl.xaml.cs">
<Link>UserControl\Controls\CarouselDemoCtl.xaml.cs</Link>
<DependentUpon>CarouselDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ChatBubbleDemoCtl.xaml.cs">
<Link>UserControl\Controls\ChatBubbleDemoCtl.xaml.cs</Link>
<DependentUpon>ChatBubbleDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CirclePanelDemoCtl.xaml.cs">
<Link>UserControl\Controls\CirclePanelDemoCtl.xaml.cs</Link>
<DependentUpon>CirclePanelDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ClockDemoCtl.xaml.cs">
<Link>UserControl\Controls\ClockDemoCtl.xaml.cs</Link>
<DependentUpon>ClockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ColorPickerDemoCtl.xaml.cs">
<Link>UserControl\Controls\ColorPickerDemoCtl.xaml.cs</Link>
<DependentUpon>ColorPickerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ComboBoxDemoCtl.xaml.cs">
<Link>UserControl\Controls\ComboBoxDemoCtl.xaml.cs</Link>
<DependentUpon>ComboBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CompareSliderDemoCtl.xaml.cs">
<Link>UserControl\Controls\CompareSliderDemoCtl.xaml.cs</Link>
<DependentUpon>CompareSliderDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CoverFlowDemoCtl.xaml.cs">
<Link>UserControl\Controls\CoverFlowDemoCtl.xaml.cs</Link>
<DependentUpon>CoverFlowDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\CoverViewDemoCtl.xaml.cs">
<Link>UserControl\Controls\CoverViewDemoCtl.xaml.cs</Link>
<DependentUpon>CoverViewDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DatePickerDemoCtl.xaml.cs">
<Link>UserControl\Controls\DatePickerDemoCtl.xaml.cs</Link>
<DependentUpon>DatePickerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DateTimePickerDemoCtl.xaml.cs">
<Link>UserControl\Controls\DateTimePickerDemoCtl.xaml.cs</Link>
<DependentUpon>DateTimePickerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DialogDemoCtl.xaml.cs">
<Link>UserControl\Controls\DialogDemoCtl.xaml.cs</Link>
<DependentUpon>DialogDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DividerDemoCtl.xaml.cs">
<Link>UserControl\Controls\DividerDemoCtl.xaml.cs</Link>
<DependentUpon>DividerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\DrawerDemoCtl.xaml.cs">
<Link>UserControl\Controls\DrawerDemoCtl.xaml.cs</Link>
<DependentUpon>DrawerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\FlipClockDemoCtl.xaml.cs">
<Link>UserControl\Controls\FlipClockDemoCtl.xaml.cs</Link>
<DependentUpon>FlipClockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\FloatingBlockDemoCtl.xaml.cs">
<Link>UserControl\Controls\FloatingBlockDemoCtl.xaml.cs</Link>
<DependentUpon>FloatingBlockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GifImageDemoCtl.xaml.cs">
<Link>UserControl\Controls\GifImageDemoCtl.xaml.cs</Link>
<DependentUpon>GifImageDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GotoTopDemoCtl.xaml.cs">
<Link>UserControl\Controls\GotoTopDemoCtl.xaml.cs</Link>
<DependentUpon>GotoTopDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GravatarDemoCtl.xaml.cs">
<Link>UserControl\Controls\GravatarDemoCtl.xaml.cs</Link>
<DependentUpon>GravatarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GridDemoCtl.xaml.cs">
<Link>UserControl\Controls\GridDemoCtl.xaml.cs</Link>
<DependentUpon>GridDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\GrowlDemoCtl.xaml.cs">
<Link>UserControl\Controls\GrowlDemoCtl.xaml.cs</Link>
<DependentUpon>GrowlDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\HoneycombPanelDemoCtl.xaml.cs">
<Link>UserControl\Controls\HoneycombPanelDemoCtl.xaml.cs</Link>
<DependentUpon>HoneycombPanelDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ImageBlockDemoCtl.xaml.cs">
<Link>UserControl\Controls\ImageBlockDemoCtl.xaml.cs</Link>
<DependentUpon>ImageBlockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ImageBrowserDemoCtl.xaml.cs">
<Link>UserControl\Controls\ImageBrowserDemoCtl.xaml.cs</Link>
<DependentUpon>ImageBrowserDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\LoadingDemoCtl.xaml.cs">
<Link>UserControl\Controls\LoadingDemoCtl.xaml.cs</Link>
<DependentUpon>LoadingDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\MagnifierDemoCtl.xaml.cs">
<Link>UserControl\Controls\MagnifierDemoCtl.xaml.cs</Link>
<DependentUpon>MagnifierDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\NotificationDemoCtl.xaml.cs">
<Link>UserControl\Controls\NotificationDemoCtl.xaml.cs</Link>
<DependentUpon>NotificationDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\NotifyIconDemoCtl.xaml.cs">
<Link>UserControl\Controls\NotifyIconDemoCtl.xaml.cs</Link>
<DependentUpon>NotifyIconDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\NumericUpDownDemoCtl.xaml.cs">
<Link>UserControl\Controls\NumericUpDownDemoCtl.xaml.cs</Link>
<DependentUpon>NumericUpDownDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\OutlineTextDemoCtl.xaml.cs">
<Link>UserControl\Controls\OutlineTextDemoCtl.xaml.cs</Link>
<DependentUpon>OutlineTextDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PaginationDemoCtl.xaml.cs">
<Link>UserControl\Controls\PaginationDemoCtl.xaml.cs</Link>
<DependentUpon>PaginationDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PasswordBoxDemoCtl.xaml.cs">
<Link>UserControl\Controls\PasswordBoxDemoCtl.xaml.cs</Link>
<DependentUpon>PasswordBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PinBoxDemoCtl.xaml.cs">
<Link>UserControl\Controls\PinBoxDemoCtl.xaml.cs</Link>
<DependentUpon>PinBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PoptipDemoCtl.xaml.cs">
<Link>UserControl\Controls\PoptipDemoCtl.xaml.cs</Link>
<DependentUpon>PoptipDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\PreviewSliderDemoCtl.xaml.cs">
<Link>UserControl\Controls\PreviewSliderDemoCtl.xaml.cs</Link>
<DependentUpon>PreviewSliderDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ProgressBarDemoCtl.xaml.cs">
<Link>UserControl\Controls\ProgressBarDemoCtl.xaml.cs</Link>
<DependentUpon>ProgressBarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ProgressButtonDemoCtl.xaml.cs">
<Link>UserControl\Controls\ProgressButtonDemoCtl.xaml.cs</Link>
<DependentUpon>ProgressButtonDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RangeSliderDemoCtl.xaml.cs">
<Link>UserControl\Controls\RangeSliderDemoCtl.xaml.cs</Link>
<DependentUpon>RangeSliderDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RateDemoCtl.xaml.cs">
<Link>UserControl\Controls\RateDemoCtl.xaml.cs</Link>
<DependentUpon>RateDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RelativePanelDemoCtl.xaml.cs">
<Link>UserControl\Controls\RelativePanelDemoCtl.xaml.cs</Link>
<DependentUpon>RelativePanelDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\RunningBlockDemoCtl.xaml.cs">
<Link>UserControl\Controls\RunningBlockDemoCtl.xaml.cs</Link>
<DependentUpon>RunningBlockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ScrollViewerDemoCtl.xaml.cs">
<Link>UserControl\Controls\ScrollViewerDemoCtl.xaml.cs</Link>
<DependentUpon>ScrollViewerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SearchBarDemoCtl.xaml.cs">
<Link>UserControl\Controls\SearchBarDemoCtl.xaml.cs</Link>
<DependentUpon>SearchBarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\ShieldDemoCtl.xaml.cs">
<Link>UserControl\Controls\ShieldDemoCtl.xaml.cs</Link>
<DependentUpon>ShieldDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SideMenuDemoCtl.xaml.cs">
<Link>UserControl\Controls\SideMenuDemoCtl.xaml.cs</Link>
<DependentUpon>SideMenuDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SplitButtonDemoCtl.xaml.cs">
<Link>UserControl\Controls\SplitButtonDemoCtl.xaml.cs</Link>
<DependentUpon>SplitButtonDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\SpriteDemoCtl.xaml.cs">
<Link>UserControl\Controls\SpriteDemoCtl.xaml.cs</Link>
<DependentUpon>SpriteDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\StepBarDemoCtl.xaml.cs">
<Link>UserControl\Controls\StepBarDemoCtl.xaml.cs</Link>
<DependentUpon>StepBarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TabControlDemoCtl.xaml.cs">
<Link>UserControl\Controls\TabControlDemoCtl.xaml.cs</Link>
<DependentUpon>TabControlDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TagDemoCtl.xaml.cs">
<Link>UserControl\Controls\TagDemoCtl.xaml.cs</Link>
<DependentUpon>TagDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TextBoxDemoCtl.xaml.cs">
<Link>UserControl\Controls\TextBoxDemoCtl.xaml.cs</Link>
<DependentUpon>TextBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TimeBarDemoCtl.xaml.cs">
<Link>UserControl\Controls\TimeBarDemoCtl.xaml.cs</Link>
<DependentUpon>TimeBarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TimePickerDemoCtl.xaml.cs">
<Link>UserControl\Controls\TimePickerDemoCtl.xaml.cs</Link>
<DependentUpon>TimePickerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TransferDemoCtl.xaml.cs">
<Link>UserControl\Controls\TransferDemoCtl.xaml.cs</Link>
<DependentUpon>TransferDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\TransitioningContentControlDemoCtl.xaml.cs">
<Link>UserControl\Controls\TransitioningContentControlDemoCtl.xaml.cs</Link>
<DependentUpon>TransitioningContentControlDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\WaterfallPanelDemoCtl.xaml.cs">
<Link>UserControl\Controls\WaterfallPanelDemoCtl.xaml.cs</Link>
<DependentUpon>WaterfallPanelDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Controls\WindowDemoCtl.xaml.cs">
<Link>UserControl\Controls\WindowDemoCtl.xaml.cs</Link>
<DependentUpon>WindowDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\BorderDemoCtl.xaml.cs">
<Link>UserControl\Styles\BorderDemoCtl.xaml.cs</Link>
<DependentUpon>BorderDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\BrushDemoCtl.xaml.cs">
<Link>UserControl\Styles\BrushDemoCtl.xaml.cs</Link>
<DependentUpon>BrushDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ButtonDemoCtl.xaml.cs">
<Link>UserControl\Styles\ButtonDemoCtl.xaml.cs</Link>
<DependentUpon>ButtonDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\CalendarDemoCtl.xaml.cs">
<Link>UserControl\Styles\CalendarDemoCtl.xaml.cs</Link>
<DependentUpon>CalendarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\CheckBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\CheckBoxDemoCtl.xaml.cs</Link>
<DependentUpon>CheckBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\DataGridDemoCtl.xaml.cs">
<Link>UserControl\Styles\DataGridDemoCtl.xaml.cs</Link>
<DependentUpon>DataGridDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ExpanderDemoCtl.xaml.cs">
<Link>UserControl\Styles\ExpanderDemoCtl.xaml.cs</Link>
<DependentUpon>ExpanderDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\FlowDocumentDemoCtl.xaml.cs">
<Link>UserControl\Styles\FlowDocumentDemoCtl.xaml.cs</Link>
<DependentUpon>FlowDocumentDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\FrameDemoCtl.xaml.cs">
<Link>UserControl\Styles\FrameDemoCtl.xaml.cs</Link>
<DependentUpon>FrameDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\GroupBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\GroupBoxDemoCtl.xaml.cs</Link>
<DependentUpon>GroupBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\LabelDemoCtl.xaml.cs">
<Link>UserControl\Styles\LabelDemoCtl.xaml.cs</Link>
<DependentUpon>LabelDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ListBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\ListBoxDemoCtl.xaml.cs</Link>
<DependentUpon>ListBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ListViewDemoCtl.xaml.cs">
<Link>UserControl\Styles\ListViewDemoCtl.xaml.cs</Link>
<DependentUpon>ListViewDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\MenuDemoCtl.xaml.cs">
<Link>UserControl\Styles\MenuDemoCtl.xaml.cs</Link>
<DependentUpon>MenuDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeComboBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeComboBoxDemoCtl.xaml.cs</Link>
<DependentUpon>NativeComboBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeDatePickerDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeDatePickerDemoCtl.xaml.cs</Link>
<DependentUpon>NativeDatePickerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativePasswordBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativePasswordBoxDemoCtl.xaml.cs</Link>
<DependentUpon>NativePasswordBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeProgressBarDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeProgressBarDemoCtl.xaml.cs</Link>
<DependentUpon>NativeProgressBarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeScrollViewerDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeScrollViewerDemoCtl.xaml.cs</Link>
<DependentUpon>NativeScrollViewerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeTabControlDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeTabControlDemoCtl.xaml.cs</Link>
<DependentUpon>NativeTabControlDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeTextBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeTextBoxDemoCtl.xaml.cs</Link>
<DependentUpon>NativeTextBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\NativeWindowDemoCtl.xaml.cs">
<Link>UserControl\Styles\NativeWindowDemoCtl.xaml.cs</Link>
<DependentUpon>NativeWindowDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\RadioButtonDemoCtl.xaml.cs">
<Link>UserControl\Styles\RadioButtonDemoCtl.xaml.cs</Link>
<DependentUpon>RadioButtonDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\RepeatButtonDemoCtl.xaml.cs">
<Link>UserControl\Styles\RepeatButtonDemoCtl.xaml.cs</Link>
<DependentUpon>RepeatButtonDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\RichTextBoxDemoCtl.xaml.cs">
<Link>UserControl\Styles\RichTextBoxDemoCtl.xaml.cs</Link>
<DependentUpon>RichTextBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\SliderDemoCtl.xaml.cs">
<Link>UserControl\Styles\SliderDemoCtl.xaml.cs</Link>
<DependentUpon>SliderDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\TextBlockDemoCtl.xaml.cs">
<Link>UserControl\Styles\TextBlockDemoCtl.xaml.cs</Link>
<DependentUpon>TextBlockDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ToggleButtonDemoCtl.xaml.cs">
<Link>UserControl\Styles\ToggleButtonDemoCtl.xaml.cs</Link>
<DependentUpon>ToggleButtonDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\ToolBarDemoCtl.xaml.cs">
<Link>UserControl\Styles\ToolBarDemoCtl.xaml.cs</Link>
<DependentUpon>ToolBarDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Styles\TreeViewDemoCtl.xaml.cs">
<Link>UserControl\Styles\TreeViewDemoCtl.xaml.cs</Link>
<DependentUpon>TreeViewDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Tools\EffectsDemoCtl.xaml.cs">
<Link>UserControl\Tools\EffectsDemoCtl.xaml.cs</Link>
<DependentUpon>EffectsDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Tools\GeometryAnimationDemoCtl.xaml.cs">
<Link>UserControl\Tools\GeometryAnimationDemoCtl.xaml.cs</Link>
<DependentUpon>GeometryAnimationDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\UserControl\Tools\HatchBrushGeneratorDemoCtl.xaml.cs">
<Link>UserControl\Tools\HatchBrushGeneratorDemoCtl.xaml.cs</Link>
<DependentUpon>HatchBrushGeneratorDemoCtl.xaml</DependentUpon>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Basic\ChatBoxViewModel.cs" CopyToOutputDirectory="PreserveNewest">
<Link>ViewModel\ChatBoxViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Basic\InteractiveDialogViewModel.cs">
<Link>ViewModel\InteractiveDialogViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Common\ComboBoxDemoViewModel.cs">
<Link>ViewModel\ComboBoxDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\BadgeDemoViewModel.cs">
<Link>ViewModel\BadgeDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\CardDemoViewModel.cs">
<Link>ViewModel\CardDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\CoverViewModel.cs">
<Link>ViewModel\CoverViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\DialogDemoViewModel.cs">
<Link>ViewModel\DialogDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\GrowlDemoViewModel.cs">
<Link>ViewModel\GrowlDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\ImageBrowserDemoViewModel.cs">
<Link>ViewModel\ImageBrowserDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\NotificationDemoViewModel.cs">
<Link>ViewModel\NotificationDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\NotifyIconDemoViewModel.cs">
<Link>ViewModel\NotifyIconDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\PaginationDemoViewModel.cs">
<Link>ViewModel\PaginationDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\SearchBarDemoViewModel.cs">
<Link>ViewModel\SearchBarDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\SideMenuDemoViewModel.cs">
<Link>ViewModel\SideMenuDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\SplitButtonDemoViewModel.cs">
<Link>ViewModel\SplitButtonDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\SpriteDemoViewModel.cs">
<Link>ViewModel\SpriteDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\StepBarDemoViewModel.cs">
<Link>ViewModel\StepBarDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\TabControlDemoViewModel.cs">
<Link>ViewModel\TabControlDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Controls\WindowDemoViewModel.cs">
<Link>ViewModel\WindowDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\DemoViewModelBase!1.cs">
<Link>ViewModel\DemoViewModelBase!1.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Main\ItemsDisplayViewModel.cs">
<Link>ViewModel\ItemsDisplayViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Main\MainViewModel.cs">
<Link>ViewModel\MainViewModel.cs</Link>
</Resource>
<Resource Include="..\HandyControlDemo_Shared\ViewModel\Main\NoUserViewModel.cs">
<Link>ViewModel\NoUserViewModel.cs</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="WindowsBase" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -71,8 +71,6 @@ namespace HandyControlDemo
UpdateSkin(GlobalData.Config.Skin);
}
ConfigHelper.Instance.SetWindowDefaultStyle();
ConfigHelper.Instance.SetNavigationWindowDefaultStyle();
ConfigHelper.Instance.SetSystemVersionInfo(CommonHelper.GetSystemVersionInfo());
ServicePointManager.SecurityProtocol = (SecurityProtocolType)(SslProtocols)0x00000C00;
@@ -18,7 +18,7 @@
public static readonly string MainWindow = nameof(MainWindow);
public static readonly string OverView = nameof(OverView);
public static readonly string PracticalDemo = nameof(PracticalDemo);
public static readonly string ProjectsView = nameof(ProjectsView);
@@ -12,7 +12,7 @@ var messageList = new List<string>
"GrowlDemoPanel",
"DialogDemoWindow",
"MainWindow",
"OverView",
"PracticalDemo",
"ProjectsView",
"BlogsView",
"WebsitesView",
@@ -5,6 +5,8 @@ namespace HandyControlDemo.Data
{
public class DemoInfoModel : ViewModelBase
{
public string Key { get; set; }
private string _title;
public string Title
@@ -17,7 +19,7 @@ namespace HandyControlDemo.Data
#endif
}
private int _selectedIndex = -1;
private int _selectedIndex;
public int SelectedIndex
{
@@ -35,7 +35,6 @@
<Compile Include="$(MSBuildThisFileDirectory)Tools\Converter\StringRepeatConverter.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\AssemblyHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\CommonHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\ExternDllHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\Win32Helper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Basic\Avatar.xaml.cs">
<DependentUpon>Avatar.xaml</DependentUpon>
@@ -251,8 +250,8 @@
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\ProjectsView.xaml.cs">
<DependentUpon>ProjectsView.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\OverView.xaml.cs">
<DependentUpon>OverView.xaml</DependentUpon>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\PracticalDemo.cs">
<DependentUpon>PracticalDemo.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\ContributorsView.xaml.cs">
<DependentUpon>ContributorsView.xaml</DependentUpon>
@@ -272,6 +271,9 @@
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\WebsitesView.xaml.cs">
<DependentUpon>WebsitesView.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Practical\Login.xaml.cs">
<DependentUpon>Login.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Styles\BorderDemoCtl.xaml.cs">
<DependentUpon>BorderDemoCtl.xaml</DependentUpon>
</Compile>
@@ -762,7 +764,7 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Main\OverView.xaml">
<Page Include="$(MSBuildThisFileDirectory)UserControl\Main\PracticalDemo.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
@@ -790,6 +792,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Practical\Login.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Styles\BorderDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1,4 +1,4 @@
<hc:BlurWindow x:Class="HandyControlDemo.MainWindow"
<hc:Window x:Class="HandyControlDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
@@ -9,6 +9,7 @@
mc:Ignorable="d"
Title="HandyControlDemo"
ShowTitle="False"
Background="{DynamicResource SecondaryRegionBrush}"
ResizeMode="CanResizeWithGrip"
WindowStartupLocation="CenterScreen"
DataContext="{Binding Main,Source={StaticResource Locator}}"
@@ -25,18 +26,18 @@
<hc:Window.NonClientAreaContent>
<userControl:NoUserContent/>
</hc:Window.NonClientAreaContent>
<Border BorderThickness="0,1,0,0" BorderBrush="{DynamicResource BorderBrush}">
<Border BorderThickness="0,1,0,0" BorderBrush="{DynamicResource BorderBrush}" Background="{StaticResource CloudDrawingBrush}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="200" MinWidth="200" MaxWidth="400"/>
<ColumnDefinition Width="240" MinWidth="240" MaxWidth="400"/>
<ColumnDefinition MinWidth="200"/>
</Grid.ColumnDefinitions>
<userControl:LeftMainContent/>
<userControl:MainContent Grid.Column="1"/>
<GridSplitter Grid.Column="1" HorizontalAlignment="Left" Width="4" Background="Transparent" BorderThickness="1,0,0,0" BorderBrush="{DynamicResource BorderBrush}"/>
<userControl:MainContent Grid.Column="1" d:IsHidden="true"/>
<GridSplitter Margin="0,26,10,26" Grid.Column="0" HorizontalAlignment="Right" Width="4" Background="Transparent"/>
<hc:ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Hidden" HorizontalAlignment="Right" IsInertiaEnabled="True" IsPenetrating="True">
<StackPanel hc:Growl.GrowlParent="True" VerticalAlignment="Top" Margin="0,10,10,10"/>
</hc:ScrollViewer>
</Grid>
</Border>
</hc:BlurWindow>
</hc:Window>
@@ -19,7 +19,7 @@ namespace HandyControlDemo
base.OnInitialized(e);
Messenger.Default.Send(true, MessageToken.FullSwitch);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.OverView}"), MessageToken.LoadShowContent);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.PracticalDemo}"), MessageToken.LoadShowContent);
}
protected override void OnClosing(CancelEventArgs e)
@@ -13,5 +13,5 @@ using System.Windows;
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]
[assembly: AssemblyVersion("2.4.0")]
[assembly: AssemblyVersion("2.5.0")]
#endif
@@ -1275,6 +1275,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
/// <summary>
/// 查找类似 实用例子 的本地化字符串。
/// </summary>
public static string PracticalDemos {
get {
return ResourceManager.GetString("PracticalDemos", resourceCulture);
}
}
/// <summary>
/// 查找类似 上一步 的本地化字符串。
/// </summary>
@@ -576,9 +576,6 @@
<data name="SideMenu" xml:space="preserve">
<value>SideMenu</value>
</data>
<data name="Overview" xml:space="preserve">
<value>Overview</value>
</data>
<data name="Grid" xml:space="preserve">
<value>Grid</value>
</data>
@@ -738,4 +735,7 @@
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>Practical demos</value>
</data>
</root>
@@ -576,9 +576,6 @@
<data name="SideMenu" xml:space="preserve">
<value>SideMenu</value>
</data>
<data name="Overview" xml:space="preserve">
<value>دید کلی</value>
</data>
<data name="Grid" xml:space="preserve">
<value>Grid</value>
</data>
@@ -738,4 +735,7 @@
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>Practical demos</value>
</data>
</root>
@@ -576,9 +576,6 @@
<data name="SideMenu" xml:space="preserve">
<value>SideMenu</value>
</data>
<data name="Overview" xml:space="preserve">
<value>Vue d'ensemble</value>
</data>
<data name="Grid" xml:space="preserve">
<value>Grid</value>
</data>
@@ -738,4 +735,7 @@
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>Practical demos</value>
</data>
</root>
@@ -465,9 +465,6 @@
<data name="OutlineText" xml:space="preserve">
<value>OutlineText</value>
</data>
<data name="Overview" xml:space="preserve">
<value>Overview</value>
</data>
<data name="Pagination" xml:space="preserve">
<value>Pagination</value>
</data>
@@ -738,4 +735,7 @@
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>Practical demos</value>
</data>
</root>
@@ -579,9 +579,6 @@
<data name="SideMenu" xml:space="preserve">
<value>侧边菜单</value>
</data>
<data name="Overview" xml:space="preserve">
<value>概览</value>
</data>
<data name="Grid" xml:space="preserve">
<value>栅格</value>
</data>
@@ -738,4 +735,7 @@
<data name="Frame" xml:space="preserve">
<value>导航框架</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>实用例子</value>
</data>
</root>
Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

@@ -5,6 +5,14 @@
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Geometries.xaml"/>
</ResourceDictionary.MergedDictionaries>
<DrawingBrush o:Freeze="True" Opacity=".1" x:Key="CloudDrawingBrush" RenderOptions.CacheInvalidationThresholdMinimum="0.5" RenderOptions.CacheInvalidationThresholdMaximum="2.0" RenderOptions.CachingHint="Cache" Viewport="0,0,314,157" ViewportUnits="Absolute" Stretch="Uniform" TileMode="Tile">
<DrawingBrush.Drawing>
<DrawingGroup o:Freeze="True">
<ImageDrawing ImageSource="/HandyControlDemo;component/Resources/Img/cloud.png" Rect="0,0,314,157"/>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
<DrawingBrush o:Freeze="True" x:Key="MainContentForegroundDrawingBrush" RenderOptions.CacheInvalidationThresholdMinimum="0.5" RenderOptions.CacheInvalidationThresholdMaximum="2.0" RenderOptions.CachingHint="Cache" Viewport="0,0,16,16" ViewportUnits="Absolute" Stretch="None" TileMode="Tile">
<DrawingBrush.Drawing>
@@ -39,6 +39,7 @@
</Style>
<Style x:Key="ListBoxItemTransparent" BasedOn="{StaticResource ListBoxItemBaseStyle}" TargetType="ListBoxItem">
<Setter Property="hc:BorderElement.CornerRadius" Value="4"/>
<Setter Property="Background" Value="Transparent"/>
</Style>
@@ -373,10 +373,12 @@ namespace HandyControlDemo.Service
var jsonObj = JsonConvert.DeserializeObject<dynamic>(jsonStr);
foreach (var item in jsonObj)
{
var title = Properties.Langs.Lang.ResourceManager.GetString((string)item.title);
var titleKey = (string) item.title;
var title = Properties.Langs.Lang.ResourceManager.GetString(titleKey);
var list = Convert2DemoItemList(item.demoItemList);
infoList.Add(new DemoInfoModel
{
Key = titleKey,
Title = title,
DemoItemList = list
});
@@ -1,12 +0,0 @@
using System.Runtime.InteropServices;
namespace HandyControlDemo.Tools
{
internal class ExternDllHelper
{
private const string Winmm = "winmm.dll";
[DllImport(Winmm, EntryPoint = "mciSendString", CharSet = CharSet.Auto)]
public static extern int MciSendString(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
}
}
@@ -7,5 +7,8 @@ namespace HandyControlDemo.Tools
{
[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);
}
}
@@ -3,10 +3,13 @@
xmlns:command="http://www.galasoft.ch/mvvmlight"
x:Class="HandyControlDemo.UserControl.LeftMainContent"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Background="{Binding Background,RelativeSource={RelativeSource AncestorType=Window}}"
Background="{DynamicResource RegionBrush}"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Margin="16"
CornerRadius="10"
Effect="{StaticResource EffectShadow4}">
<Border.Resources>
<Style x:Key="DemoInfoSortButtonStyle" BasedOn="{StaticResource ToggleButtonCustom}" TargetType="ToggleButton" x:Shared="False">
<Setter Property="Content">
@@ -24,7 +27,7 @@
</Style>
</Border.Resources>
<DockPanel>
<Button Command="{Binding OpenOverviewCmd}" DockPanel.Dock="Top" HorizontalAlignment="Stretch" Margin="4" Content="{x:Static langs:Lang.Overview}"/>
<Button Command="{Binding OpenPracticalDemoCmd}" DockPanel.Dock="Top" HorizontalAlignment="Stretch" Margin="10,10,10,4" Content="{x:Static langs:Lang.PracticalDemos}" BorderThickness="0" Background="{DynamicResource SecondaryRegionBrush}"/>
<TabControl SelectionChanged="TabControl_OnSelectionChanged" ItemContainerStyle="{StaticResource TabItemTransparent}" ItemsSource="{Binding DemoInfoList}" Style="{StaticResource TabControlInLine}" Background="Transparent" SelectedIndex="0">
<TabControl.ItemTemplate>
<DataTemplate>
@@ -33,7 +36,7 @@
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<Grid>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
@@ -42,9 +45,9 @@
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<hc:SearchBar SearchStarted="SearchBar_OnSearchStarted" Style="{StaticResource SearchBarPlus}" hc:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterKey}" Margin="4" Tag="{Binding ElementName=ListBoxDemo}"/>
<ToggleButton Tag="{Binding ElementName=ListBoxDemo}" Name="ButtonStyleAscending" Click="ButtonAscending_OnClick" Grid.Row="0" Grid.Column="1" Margin="0,0,4,0" Style="{StaticResource DemoInfoSortButtonStyle}"/>
<ListBox Name="ListBoxDemo" VirtualizingStackPanel.IsVirtualizing="True" SelectedIndex="{Binding SelectedIndex}" ItemsSource="{Binding DemoItemList}" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" BorderThickness="0" SelectionMode="Single" Style="{StaticResource ListBoxTransparent}">
<hc:SearchBar SearchStarted="SearchBar_OnSearchStarted" Style="{StaticResource SearchBarPlus}" hc:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterKey}" Margin="0,4,4,4" Tag="{Binding ElementName=ListBoxDemo}"/>
<ToggleButton Tag="{Binding ElementName=ListBoxDemo}" Name="ButtonStyleAscending" Click="ButtonAscending_OnClick" Grid.Row="0" Grid.Column="1" Style="{StaticResource DemoInfoSortButtonStyle}"/>
<ListBox Name="ListBoxDemo" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" VirtualizingStackPanel.IsVirtualizing="True" SelectedIndex="{Binding SelectedIndex}" ItemsSource="{Binding DemoItemList}" BorderThickness="0" SelectionMode="Single" Style="{StaticResource ListBoxTransparent}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
@@ -5,6 +5,7 @@ using System.Windows.Controls.Primitives;
using HandyControl.Data;
using HandyControl.Tools.Extension;
using HandyControlDemo.Data;
using HandyControlDemo.ViewModel;
namespace HandyControlDemo.UserControl
@@ -24,6 +25,7 @@ namespace HandyControlDemo.UserControl
if (e.AddedItems.Count == 0) return;
if (e.AddedItems[0] is DemoInfoModel demoInfo)
{
ViewModelLocator.Instance.Main.DemoInfoCurrent = demoInfo;
var selectedIndex = demoInfo.SelectedIndex;
demoInfo.SelectedIndex = -1;
demoInfo.SelectedIndex = selectedIndex;
@@ -1,20 +1,37 @@
<Border xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="HandyControlDemo.UserControl.MainContent"
Background="{DynamicResource MainContentBackgroundBrush}">
<Border Background="{DynamicResource MainContentForegroundDrawingBrush}">
<Grid Name="GridMain" MinHeight="300" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="16">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Name="BorderEffect" Grid.RowSpan="2" Background="{DynamicResource RegionBrush}" CornerRadius="10" Effect="{StaticResource EffectShadow4}"/>
<Border Height="32" Name="BorderTitle" Grid.Row="0" CornerRadius="10,10,0,0" Background="{DynamicResource TitleBrush}">
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:avalonedit="http://icsharpcode.net/sharpdevelop/avalonedit"
x:Class="HandyControlDemo.UserControl.MainContent">
<Grid Name="GridMain" MinHeight="300" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="16">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border Name="BorderEffect" Grid.RowSpan="2" Background="{DynamicResource RegionBrush}" CornerRadius="10" Effect="{StaticResource EffectShadow4}"/>
<Border Height="32" Name="BorderTitle" Grid.Row="0" CornerRadius="10,10,0,0" Background="{DynamicResource TitleBrush}">
<hc:SimplePanel>
<TextBlock Style="{StaticResource TextBlockDefault}" Foreground="White" Text="{Binding ContentTitle}"/>
</Border>
<Border Grid.Row="1" ClipToBounds="True">
<ContentPresenter Name="PresenterMain" Margin="0,0,0,10" Content="{Binding SubContent}"/>
</Border>
</Grid>
</Border>
<ToggleButton Margin="0,0,6,0" IsChecked="{Binding IsOpen,ElementName=DrawerCode}" Padding="5" Foreground="{DynamicResource TextIconBrush}" Style="{StaticResource ToggleButtonIconTransparent}" HorizontalAlignment="Right" hc:IconElement.Geometry="{StaticResource CodeGeometry}"/>
<hc:Drawer Name="DrawerCode" Opened="DrawerCode_OnOpened">
<Border Style="{StaticResource BorderClip}" Margin="32,32,0,32" CornerRadius="10,0,0,10" Background="{DynamicResource RegionBrush}" Width="800">
<TabControl Grid.Row="1" Style="{StaticResource TabControlInLine}">
<TabItem Header="XAML">
<avalonedit:TextEditor IsReadOnly="True" FontFamily="Consolas" Background="{DynamicResource RegionBrush}" SyntaxHighlighting="XML" Name="EditorXaml" Margin="4" ShowLineNumbers="True"/>
</TabItem>
<TabItem Header="C#">
<avalonedit:TextEditor IsReadOnly="True" FontFamily="Consolas" Background="{DynamicResource RegionBrush}" SyntaxHighlighting="C#" Name="EditorCs" Margin="4" ShowLineNumbers="True"/>
</TabItem>
<TabItem Header="VM">
<avalonedit:TextEditor IsReadOnly="True" FontFamily="Consolas" Background="{DynamicResource RegionBrush}" SyntaxHighlighting="C#" Name="EditorVm" Margin="4" ShowLineNumbers="True"/>
</TabItem>
</TabControl>
</Border>
</hc:Drawer>
</hc:SimplePanel>
</Border>
<Border Grid.Row="1" ClipToBounds="True">
<ContentPresenter Name="PresenterMain" Margin="0,0,0,10" Content="{Binding SubContent}"/>
</Border>
</Grid>
</Border>
@@ -2,6 +2,7 @@
using GalaSoft.MvvmLight.Messaging;
using HandyControl.Tools.Extension;
using HandyControlDemo.Data;
using HandyControlDemo.ViewModel;
namespace HandyControlDemo.UserControl
@@ -13,6 +14,8 @@ namespace HandyControlDemo.UserControl
{
private bool _isFull;
private string _currentDemoKey;
public MainContent()
{
InitializeComponent();
@@ -43,5 +46,25 @@ namespace HandyControlDemo.UserControl
PresenterMain.Margin = new Thickness(0, 0, 0, 10);
}
}
private void DrawerCode_OnOpened(object sender, RoutedEventArgs e)
{
var typeKey = ViewModelLocator.Instance.Main.DemoInfoCurrent.Key;
var demoKey = ViewModelLocator.Instance.Main.DemoItemCurrent.TargetCtlName;
if (Equals(_currentDemoKey, demoKey)) return;
_currentDemoKey = demoKey;
if (ViewModelLocator.Instance.Main.SubContent is FrameworkElement demoCtl)
{
var xamlPath = $"UserControl/{typeKey}/{demoCtl.GetType().Name}.xaml";
var dc = demoCtl.DataContext;
var dcTypeName = dc.GetType().Name;
var vmPath = $"ViewModel/{dcTypeName}";
EditorXaml.Text = DemoHelper.GetCode(xamlPath);
EditorCs.Text = DemoHelper.GetCode($"{xamlPath}.cs");
EditorVm.Text = DemoHelper.GetCode($"{vmPath}.cs");
}
}
}
}
@@ -111,7 +111,7 @@
</Menu>
</StackPanel>
<Button Grid.Column="1" Click="ButtonConfig_OnClick" Name="ButtonConfig" Style="{StaticResource ButtonIcon}" Foreground="{DynamicResource PrimaryTextBrush}" hc:IconElement.Geometry="{StaticResource ConfigGeometry}"/>
<Popup AllowsTransparency="True" Grid.Column="1" PlacementTarget="{Binding ElementName=ButtonConfig}" HorizontalOffset="-25" Name="PopupConfig" VerticalOffset="6" StaysOpen="False">
<Popup AllowsTransparency="True" Grid.Column="1" PlacementTarget="{Binding ElementName=ButtonConfig}" HorizontalOffset="-28" Name="PopupConfig" VerticalOffset="6" StaysOpen="False">
<Border Background="{DynamicResource SecondaryRegionBrush}" CornerRadius="4" Margin="16" Effect="{StaticResource EffectShadow2}">
<StackPanel Orientation="Horizontal">
<StackPanel Button.Click="ButtonLangs_OnClick" Margin="10,10,0,10">
@@ -1,363 +0,0 @@
<UserControl x:Class="HandyControlDemo.UserControl.OverView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{DynamicResource SecondaryRegionBrush}"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:userControl="clr-namespace:HandyControlDemo.UserControl">
<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible">
<Canvas HorizontalAlignment="Center" VerticalAlignment="Center" Name="CanvasMain" Margin="32" Width="1665" Height="1300">
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4">
<StackPanel>
<Button Width="80" Content="Button" Margin="0,0,0,10"/>
<Button Width="80" Content="Button" Style="{StaticResource ButtonPrimary}" Margin="0,0,0,10"/>
<Button Width="80" Padding="16,8" hc:IconElement.Geometry="{StaticResource DeleteGeometry}" Margin="0,0,0,10"/>
<Button Width="80" Content="Clock" Margin="0,0,0,10" Style="{StaticResource ButtonPrimary}" hc:IconElement.Geometry="{StaticResource ClockGeometry}"/>
<Button Width="80" Margin="0,0,0,10" Height="28" Padding="10,0" Background="#24292e" Foreground="White" Content="Button" Style="{StaticResource ButtonCustom}" hc:BackgroundSwitchElement.MouseHoverBackground="Red" hc:BackgroundSwitchElement.MouseDownBackground="PaleVioletRed"/>
<Button Width="80" Padding="16,8" Style="{StaticResource ButtonIcon}" Foreground="{DynamicResource PrimaryTextBrush}" hc:IconElement.Geometry="{StaticResource UpDownGeometry}"/>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="128">
<StackPanel>
<ToggleButton Width="128" Margin="0,0,0,10" IsChecked="True" Content="ToggleButton"/>
<ToggleButton Width="128" Margin="0,0,0,10" Content="ToggleButton" Style="{StaticResource ToggleButtonPrimary}"/>
<ToggleButton Width="128" Margin="0,0,0,10" Style="{StaticResource ToggleButtonIcon}" hc:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"/>
<ToggleButton Width="128" Margin="0,0,0,10" IsChecked="True" Content="ToggleButton" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonPrimary}"/>
<ToggleButton Margin="0,0,0,10" IsChecked="True" Style="{StaticResource ToggleButtonCustom}" hc:StatusSwitchElement.HideUncheckedElement="True">
<hc:StatusSwitchElement.CheckedElement>
<Border Width="128" Height="30" CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Ellipse Width="20" Height="20" Fill="{DynamicResource PrimaryBrush}" StrokeThickness="1" Stroke="{DynamicResource BorderBrush}"/>
</Border>
</hc:StatusSwitchElement.CheckedElement>
<Border Width="128" Height="30" CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Ellipse Width="20" Height="20" Fill="{DynamicResource BorderBrush}" StrokeThickness="1" Stroke="{DynamicResource BorderBrush}"/>
</Border>
</ToggleButton>
<ToggleButton Margin="0,0,0,10" IsChecked="True" HorizontalAlignment="Center" Style="{StaticResource ToggleButtonSwitch}"/>
<ToggleButton Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.Geometry="{StaticResource DeleteGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource DownGeometry}"/>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="611">
<userControl:SideMenuDemoCtl Height="424" Margin="-32" Background="Transparent"/>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="304">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<StackPanel>
<RadioButton Content="Radio"/>
<RadioButton Margin="0,16,0,0" Content="Radio" IsChecked="True" IsEnabled="False"/>
<RadioButton Margin="0,16,0,0" Content="Radio"/>
<RadioButton Margin="0,16,0,0" Content="Radio" IsEnabled="False"/>
</StackPanel>
<UniformGrid Margin="22,0,0,0" Rows="2" Columns="2">
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" hc:IconElement.Geometry="{StaticResource CalendarGeometry}" Style="{StaticResource RadioButtonIcon}" Content="Radio"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" Style="{StaticResource RadioButtonIcon}" Content="Radio" IsChecked="True"/>
<RadioButton Margin="10,0,0,0" BorderThickness="1" hc:IconElement.Geometry="{StaticResource CalendarGeometry}" Style="{StaticResource RadioButtonIcon}" Content="Radio"/>
<RadioButton Margin="10,0,0,0" BorderThickness="1" Style="{StaticResource RadioButtonIcon}" Content="Radio"/>
</UniformGrid>
</StackPanel>
<hc:ButtonGroup Margin="0,32,0,0">
<RadioButton Content="Radio" IsChecked="True"/>
<RadioButton Content="Radio"/>
<RadioButton IsEnabled="False" Content="Radio"/>
<RadioButton Content="Radio"/>
</hc:ButtonGroup>
<hc:ButtonGroup Margin="0,16,0,0" Style="{StaticResource ButtonGroupSolid}">
<RadioButton Content="Radio"/>
<RadioButton Content="Radio"/>
<RadioButton IsEnabled="False" Content="Radio"/>
<RadioButton Content="Radio" IsChecked="True"/>
</hc:ButtonGroup>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<hc:ButtonGroup Margin="0,16,8,0" Orientation="Vertical">
<RadioButton Content="Radio" IsChecked="True"/>
<RadioButton Content="Radio"/>
<RadioButton IsEnabled="False" Content="Radio"/>
<RadioButton Content="Radio"/>
</hc:ButtonGroup>
<hc:ButtonGroup Margin="8,16,0,0" Orientation="Vertical" Style="{StaticResource ButtonGroupSolid}">
<RadioButton Content="Radio"/>
<RadioButton Content="Radio"/>
<RadioButton IsEnabled="False" Content="Radio"/>
<RadioButton Content="Radio" IsChecked="True"/>
</hc:ButtonGroup>
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Top="276" Height="226">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<CheckBox Content="CheckBox" IsChecked="True"/>
<CheckBox Margin="0,16,0,0" Content="CheckBox" IsChecked="True" IsEnabled="False"/>
<CheckBox Margin="0,16,0,0" Content="CheckBox"/>
<CheckBox Margin="0,16,0,0" Content="CheckBox" IsEnabled="False"/>
<CheckBox Margin="0,16,0,0" Content="CheckBox" IsChecked="{x:Null}"/>
<CheckBox Margin="0,16,0,0" Content="CheckBox" IsChecked="{x:Null}" IsEnabled="False"/>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Top="516">
<StackPanel>
<Slider Width="400" IsSnapToTickEnabled="True" Value="8"/>
<Slider Width="400" IsSnapToTickEnabled="True" Value="3" Margin="0,32,0,0" IsEnabled="False"/>
<Slider Width="400" IsSnapToTickEnabled="True" TickFrequency="5" Maximum="100" TickPlacement="TopLeft" Value="10" IsSelectionRangeEnabled="True" SelectionStart="10" SelectionEnd="80" Margin="0,32,0,0"/>
<Slider Width="400" hc:TipElement.Visibility="Visible" IsSnapToTickEnabled="True" Maximum="100" Value="60" TickFrequency="10" TickPlacement="BottomRight" Margin="0,32,0,0"/>
<Slider Width="400" hc:TipElement.Visibility="Visible" hc:TipElement.Placement="BottomRight" IsSnapToTickEnabled="True" Value="5" TickPlacement="Both" Margin="0,32,0,0"/>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Top="806" Width="349">
<TabControl Height="200" Style="{StaticResource TabControlInLine}">
<TabItem Header="Title" HeaderStringFormat="{}{0}1">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Style="{StaticResource TextBlockLargeBold}" Foreground="{DynamicResource TextIconBrush}">
<Run Text="Text"/>
<Run Text="1"/>
</TextBlock>
</Border>
</TabItem>
<TabItem Header="Title" HeaderStringFormat="{}{0}2">
<Border Background="{DynamicResource SuccessBrush}">
<TextBlock Style="{StaticResource TextBlockLargeBold}" Foreground="{DynamicResource TextIconBrush}">
<Run Text="Text"/>
<Run Text="2"/>
</TextBlock>
</Border>
</TabItem>
<TabItem Header="Title" HeaderStringFormat="{}{0}3">
<Border Background="{DynamicResource InfoBrush}">
<TextBlock Style="{StaticResource TextBlockLargeBold}" Foreground="{DynamicResource TextIconBrush}">
<Run Text="Text"/>
<Run Text="3"/>
</TextBlock>
</Border>
</TabItem>
<TabItem Header="Title" HeaderStringFormat="{}{0}4">
<Border Background="{DynamicResource WarningBrush}">
<TextBlock Style="{StaticResource TextBlockLargeBold}" Foreground="{DynamicResource TextIconBrush}">
<Run Text="Text"/>
<Run Text="4"/>
</TextBlock>
</Border>
</TabItem>
<TabItem IsSelected="True" Header="Title" HeaderStringFormat="{}{0}5">
<Border Background="{DynamicResource DangerBrush}">
<TextBlock Style="{StaticResource TextBlockLargeBold}" Foreground="{DynamicResource TextIconBrush}">
<Run Text="Text"/>
<Run Text="5"/>
</TextBlock>
</Border>
</TabItem>
</TabControl>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="859" Width="240">
<StackPanel>
<ProgressBar Value="20" Margin="0,0,0,10"/>
<ProgressBar Style="{StaticResource ProgressBarDangerStripe}" Margin="0,0,0,10" Value="120" Maximum="200" />
<ProgressBar Style="{StaticResource ProgressBarFlat}" Margin="0,8,0,10" Value="110" Maximum="200" />
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="859" Height="262" Canvas.Top="130">
<ScrollViewer>
<StackPanel VerticalAlignment="Top" Width="206">
<Expander Header="Title" BorderThickness="1,1,1,0" BorderBrush="{DynamicResource BorderBrush}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
<Expander Header="Title" BorderThickness="1,1,1,0" BorderBrush="{DynamicResource BorderBrush}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
<Expander Header="Title" BorderThickness="1,1,1,0" BorderBrush="{DynamicResource BorderBrush}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
<Expander Header="Title" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
</StackPanel>
</ScrollViewer>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1113">
<Calendar SelectionMode="MultipleRange"/>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1421" Height="346">
<hc:Clock/>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="611" Height="326" Canvas.Top="408" Width="488">
<DataGrid HeadersVisibility="All" RowHeaderWidth="60" AutoGenerateColumns="False" ItemsSource="{Binding DataList}">
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}"/>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
<DataGrid.Columns>
<DataGridTextColumn IsReadOnly="True" Width="80" CanUserResize="False" Binding="{Binding Index}" Header="Index"/>
<DataGridTemplateColumn Width="60" CanUserResize="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding ImgPath}" Width="32" Height="32" Stretch="Uniform"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Width="1*" Binding="{Binding Name}" Header="Name"/>
<DataGridCheckBoxColumn Width="100" CanUserResize="False" Binding="{Binding IsSelected}" Header="Selected"/>
<DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource DemoTypes}}" Width="100" CanUserResize="False" SelectedValueBinding="{Binding Type}" Header="Type"/>
<DataGridTextColumn Width="1*" Binding="{Binding Remark}" Header="Remark"/>
</DataGrid.Columns>
</DataGrid>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="363" Height="234" Canvas.Top="806">
<TreeView Width="200" ItemsSource="{Binding DataList}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding DataList}">
<TextBlock Text="{Binding Name}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1158" Height="334" Canvas.Top="748" Width="219">
<ListBox ItemsSource="{Binding DataList}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1113" Canvas.Top="360" Width="264">
<GroupBox Height="200" Header="GroupBox" Padding="10" Margin="0,0,-2,0" >
<Border Background="{DynamicResource PrimaryBrush}" CornerRadius="4">
<TextBlock Text="GroupBox" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</GroupBox>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Top="1054" Width="597">
<ToolBarTray VerticalAlignment="Center">
<ToolBar Padding="6">
<CheckBox IsChecked="True" Margin="10,0,0,0"/>
<Separator Margin="10,0,0,0"/>
<StackPanel Orientation="Horizontal">
<RadioButton IsChecked="True" Margin="10,0,0,0"/>
<RadioButton Margin="10,0,0,0"/>
</StackPanel>
<Button Content="Button" Margin="10,0,0,0"/>
<Button Content="Button" Margin="10,0,0,0" Style="{StaticResource ButtonPrimary}"/>
</ToolBar>
<ToolBar Band="1" Padding="6">
<ComboBox DataContext="{Binding ComboBoxDemo,Source={StaticResource Locator}}" ItemsSource="{Binding DataList}" SelectedIndex="0" Width="230"/>
<TextBox Text="TextTextTextText" Margin="10,0,0,0" Width="230"/>
</ToolBar>
<ToolBar Band="0" Padding="6">
<Menu Background="Transparent" VerticalAlignment="Center">
<MenuItem Header="Repository">
<MenuItem Header="GitHub">
<MenuItem.Icon>
<Path Data="{StaticResource GithubGeometry}" Fill="{DynamicResource PrimaryTextBrush}"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="NuGet">
<MenuItem.Icon>
<Path Data="{StaticResource NugetGeometry}" Fill="#224880"/>
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="About">
<MenuItem Header="Email">
<MenuItem.Icon>
<Path Data="{StaticResource EmailGeometry}" Fill="{DynamicResource PrimaryBrush}"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Chatroom">
<MenuItem.Icon>
<Path Data="{StaticResource GitterGeometry}" Fill="#e52e64"/>
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Blog">
<MenuItem.Icon>
<Path Data="{StaticResource CnblogsGeometry}" Fill="{DynamicResource PrimaryTextBrush}"/>
</MenuItem.Icon>
</MenuItem>
</MenuItem>
<MenuItem Header="Contributors"/>
</Menu>
</ToolBar>
</ToolBarTray>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1391" Canvas.Top="360">
<UniformGrid Rows="3" Columns="3" Width="240" Height="240">
<hc:Gravatar Id="User1"/>
<hc:Gravatar Id="User2"/>
<hc:Gravatar Style="{StaticResource GravatarCircleImg}">
<Image Source="/HandyControlDemo;component/Resources/Img/Album/2.jpg"/>
</hc:Gravatar>
<hc:Gravatar Id="User4"/>
<hc:Gravatar Id="User5" Style="{StaticResource GravatarCircle}"/>
<hc:Gravatar Id="User6"/>
<hc:Gravatar Style="{StaticResource GravatarCircle}" Source="/HandyControlDemo;component/Resources/Img/Album/1.jpg"/>
<hc:Gravatar Id="User8"/>
<hc:Gravatar Id="User9"/>
</UniformGrid>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="448" Canvas.Top="516" Height="276" Width="149">
<StackPanel VerticalAlignment="Center">
<hc:Badge HorizontalAlignment="Center" Text="New" BadgeMargin="0,-14,-20,0" Height="30">
<Button Content="Comment"/>
</hc:Badge>
<hc:Badge DataContext="{Binding BadgeDemo, Source={StaticResource Locator}}" HorizontalAlignment="Center" Value="{Binding Count}" BadgeMargin="0,-14,-10,0" Height="30" Margin="0,16,0,0" Style="{StaticResource BadgePrimary}">
<Button Content="Click2Count" Command="{Binding CountCmd}"/>
</hc:Badge>
<hc:Badge HorizontalAlignment="Center" Value="100" BadgeMargin="0,-14,-20,0" Height="30" Margin="0,16,0,0" Style="{StaticResource BadgeDanger}">
<Button Content="Comment"/>
</hc:Badge>
<hc:Badge HorizontalAlignment="Center" Status="Dot" Height="30" Margin="0,16,0,0" Style="{StaticResource BadgeDanger}">
<Button Content="Reply"/>
</hc:Badge>
<hc:Badge HorizontalAlignment="Center" Status="Processing" Height="30" Margin="0,16,0,0" Style="{StaticResource BadgeDanger}">
<Button Content="Reply" />
</hc:Badge>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="128" Canvas.Top="310" Width="160" Height="84">
<WrapPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<hc:Shield Subject="chat" Status="on gitter" Margin="0,0,0,0" Color="#4eb899" Command="hc:ControlCommands.OpenLink" CommandParameter="https://gitter.im/HandyControl/Lobby?utm_source=badge&amp;utm_medium=badge&amp;utm_campaign=pr-badge&amp;utm_content=badge"/>
<hc:Shield Subject="qq" Status="714704041" Margin="0,4,0,0" Color="#d8624c" Command="hc:ControlCommands.OpenLink" CommandParameter="http://shang.qq.com/wpa/qunwpa?idkey=a571e5553c9d41e49c4f22f3a8b2865451497a795ff281fedf3285def247efc1"/>
</WrapPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="128" Canvas.Top="408">
<StackPanel Orientation="Horizontal">
<StackPanel Width="271" VerticalAlignment="Center" Margin="0,0,32,0">
<hc:LoadingLine/>
<hc:LoadingLine Margin="0,28,0,0" Foreground="BlueViolet" Style="{StaticResource LoadingLineLarge}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<hc:LoadingCircle/>
<Border VerticalAlignment="Center" Margin="32,0,0,0" Background="{DynamicResource PrimaryBrush}" CornerRadius="10">
<hc:LoadingCircle Style="{StaticResource LoadingCircleLight}" Margin="10"/>
</Border>
</StackPanel>
</StackPanel>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="611" Canvas.Top="748" Height="214">
<hc:Transfer ItemsSource="{Binding DataList}">
<hc:Transfer.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</hc:Transfer.ItemTemplate>
</hc:Transfer>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="611" Canvas.Top="976">
<userControl:CoverFlowDemoCtl Width="559" Margin="-32" Background="Transparent"/>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1391" Canvas.Top="648" Width="274">
<userControl:ColorPickerDemoCtl Margin="-32" Background="Transparent"/>
</Border>
<Border Visibility="Visible" BorderThickness="0" Padding="16" Style="{StaticResource BorderRegion}" CornerRadius="4" Canvas.Left="1113" Canvas.Top="608" Width="264" Height="126">
<hc:TagPanel Orientation="Horizontal" MaxWidth="400" VerticalAlignment="Center">
<hc:Tag ShowCloseButton="False" Content="TextText"/>
<hc:Tag Content="Text"/>
<hc:Tag IsSelected="True" Selectable="True" ShowCloseButton="False" Content="Text"/>
<hc:Tag IsSelected="True" Selectable="True" Content="Text"/>
<hc:Tag ShowCloseButton="False" Content="TextText"/>
</hc:TagPanel>
</Border>
</Canvas>
</ScrollViewer>
</UserControl>
@@ -1,18 +0,0 @@
using System.Windows;
using HandyControl.Tools.Extension;
namespace HandyControlDemo.UserControl
{
public partial class OverView
{
public OverView()
{
InitializeComponent();
foreach (UIElement child in CanvasMain.Children)
{
child.Show();
}
}
}
}
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class PracticalDemo
{
public PracticalDemo()
{
InitializeComponent();
}
}
}
@@ -0,0 +1,8 @@
<UserControl x:Class="HandyControlDemo.UserControl.PracticalDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
</UserControl>
@@ -0,0 +1,11 @@
<UserControl x:Class="HandyControlDemo.UserControl.Login"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="https://handyorg.github.io/handycontrol"
Background="{DynamicResource RegionBrush}">
<Grid Width="320" Height="567" Background="#f2f3f7">
<StackPanel VerticalAlignment="Bottom">
<Button Content="サインアップ" Height="44" Width="166" hc:BorderElement.CornerRadius="22" BorderThickness="0" Background="#41508d" Foreground="#edf0fb"/>
</StackPanel>
</Grid>
</UserControl>
@@ -0,0 +1,10 @@
namespace HandyControlDemo.UserControl
{
public partial class Login
{
public Login()
{
InitializeComponent();
}
}
}
@@ -6,16 +6,16 @@
xmlns:hc="https://handyorg.github.io/handycontrol">
<hc:TransitioningContentControl>
<StackPanel Margin="32" VerticalAlignment="Center" Width="240">
<Expander Header="{x:Static langs:Lang.Title}" BorderThickness="1,1,1,0" BorderBrush="{DynamicResource BorderBrush}">
<Expander Header="{x:Static langs:Lang.Title}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
<Expander Header="{x:Static langs:Lang.Title}" BorderThickness="1,1,1,0" BorderBrush="{DynamicResource BorderBrush}">
<Expander Margin="0,4,0,0" Header="{x:Static langs:Lang.Title}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
<Expander Header="{x:Static langs:Lang.Title}" BorderThickness="1,1,1,0" BorderBrush="{DynamicResource BorderBrush}">
<Expander Margin="0,4,0,0" Header="{x:Static langs:Lang.Title}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
<Expander Header="{x:Static langs:Lang.Title}" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Expander Margin="0,4,0,0" Header="{x:Static langs:Lang.Title}">
<Border Height="100" Background="{DynamicResource SecondaryRegionBrush}"/>
</Expander>
</StackPanel>
@@ -3,24 +3,89 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="https://handyorg.github.io/handycontrol"
Background="{DynamicResource RegionBrush}">
<UserControl.Resources>
<Storyboard x:Key="StoryboardLoaded" RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(RotateTransform.Angle)" Storyboard.TargetName="TransformRotate1">
<EasingDoubleKeyFrame KeyTime="0:0:3" Value="90">
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(RotateTransform.Angle)" Storyboard.TargetName="TransformRotate2">
<EasingDoubleKeyFrame KeyTime="0:0:3" Value="90">
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(RotateTransform.Angle)" Storyboard.TargetName="TransformRotate3">
<EasingDoubleKeyFrame KeyTime="0:0:3" Value="-90">
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<UserControl.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource StoryboardLoaded}"/>
</EventTrigger>
</UserControl.Triggers>
<hc:TransitioningContentControl>
<UniformGrid Margin="16">
<Image Margin="16" Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg"/>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:ColorComplementEffect/>
</Image.Effect>
</Image>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:GrayScaleEffect/>
</Image.Effect>
</Image>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:GrayScaleEffect Scale=".7"/>
</Image.Effect>
</Image>
</UniformGrid>
<StackPanel Margin="32">
<UniformGrid Margin="16" Columns="3">
<Image Margin="16" Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg"/>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:ColorComplementEffect/>
</Image.Effect>
</Image>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:GrayScaleEffect/>
</Image.Effect>
</Image>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:GrayScaleEffect Scale=".7"/>
</Image.Effect>
</Image>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:ColorMatrixEffect M11="-1" M22="-1" M33="-1" M41="1" M42="1" M43="1" M44="1" M51="1"/>
</Image.Effect>
</Image>
<Image Width="120" Height="120" Source="/HandyControlDemo;component/Resources/Img/Album/10.jpg">
<Image.Effect>
<hc:ColorMatrixEffect M11="1.5" M21="1.5" M31="1.5" M12="1.5" M22="1.5" M32="1.5" M13="1.5" M23="1.5" M33="1.5" M51="-1" M52="-1" M53="-1"/>
</Image.Effect>
</Image>
</UniformGrid>
<hc:BlendEffectBox>
<hc:BlendEffectBox.Effects>
<BlurEffect Radius="30"/>
<hc:BrightnessEffect Brightness="1"/>
<hc:ContrastEffect Contrast="20"/>
</hc:BlendEffectBox.Effects>
<StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Border Width="100" Height="100" Background="Red" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<RotateTransform Angle="0" x:Name="TransformRotate1"/>
</TransformGroup>
</Border.RenderTransform>
</Border>
<Border Margin="30,0,0,0" Width="100" Height="100" Background="Red" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<RotateTransform Angle="0" x:Name="TransformRotate2"/>
</TransformGroup>
</Border.RenderTransform>
</Border>
</StackPanel>
<Border Width="100" Height="100" Background="Red" HorizontalAlignment="Center" RenderTransformOrigin="0.5,0.5">
<Border.RenderTransform>
<TransformGroup>
<RotateTransform Angle="0" x:Name="TransformRotate3"/>
</TransformGroup>
</Border.RenderTransform>
</Border>
</StackPanel>
</hc:BlendEffectBox>
</StackPanel>
</hc:TransitioningContentControl>
</UserControl>
@@ -104,12 +104,12 @@ namespace HandyControlDemo.ViewModel
private void StartRecord()
{
ExternDllHelper.MciSendString("set wave bitpersample 8", "", 0, 0);
ExternDllHelper.MciSendString("set wave samplespersec 20000", "", 0, 0);
ExternDllHelper.MciSendString("set wave channels 2", "", 0, 0);
ExternDllHelper.MciSendString("set wave format tag pcm", "", 0, 0);
ExternDllHelper.MciSendString("open new type WAVEAudio alias movie", "", 0, 0);
ExternDllHelper.MciSendString("record movie", "", 0, 0);
Win32Helper.MciSendString("set wave bitpersample 8", "", 0, 0);
Win32Helper.MciSendString("set wave samplespersec 20000", "", 0, 0);
Win32Helper.MciSendString("set wave channels 2", "", 0, 0);
Win32Helper.MciSendString("set wave format tag pcm", "", 0, 0);
Win32Helper.MciSendString("open new type WAVEAudio alias movie", "", 0, 0);
Win32Helper.MciSendString("record movie", "", 0, 0);
_stopwatch.Reset();
_stopwatch.Start();
@@ -135,9 +135,9 @@ namespace HandyControlDemo.ViewModel
var cachePath = $"{AudioCachePath}\\{Guid.NewGuid().ToString()}";
var cachePathWithQuotes = $"\"{cachePath}\"";
ExternDllHelper.MciSendString("stop movie", "", 0, 0);
ExternDllHelper.MciSendString($"save movie {cachePathWithQuotes}", "", 0, 0);
ExternDllHelper.MciSendString("close movie", "", 0, 0);
Win32Helper.MciSendString("stop movie", "", 0, 0);
Win32Helper.MciSendString($"save movie {cachePathWithQuotes}", "", 0, 0);
Win32Helper.MciSendString("close movie", "", 0, 0);
_stopwatch.Stop();
@@ -34,11 +34,6 @@ namespace HandyControlDemo.ViewModel
/// </summary>
private List<DemoInfoModel> _demoInfoList;
/// <summary>
/// 当前选中的demo项
/// </summary>
private DemoItemModel _demoItemCurrent;
#endregion
public MainViewModel(DataService dataService)
@@ -54,7 +49,7 @@ namespace HandyControlDemo.ViewModel
Messenger.Default.Register<object>(this, MessageToken.ClearLeftSelected, obj =>
{
_demoItemCurrent = null;
DemoItemCurrent = null;
foreach (var item in DemoInfoList)
{
item.SelectedIndex = -1;
@@ -67,6 +62,13 @@ namespace HandyControlDemo.ViewModel
#region 属性
/// <summary>
/// 当前选中的demo项
/// </summary>
public DemoItemModel DemoItemCurrent { get; private set; }
public DemoInfoModel DemoInfoCurrent { get; set; }
/// <summary>
/// 子内容
/// </summary>
@@ -117,11 +119,8 @@ namespace HandyControlDemo.ViewModel
new Lazy<RelayCommand<SelectionChangedEventArgs>>(() =>
new RelayCommand<SelectionChangedEventArgs>(SwitchDemo)).Value;
/// <summary>
/// 打开概览命令
/// </summary>
public RelayCommand OpenOverviewCmd => new Lazy<RelayCommand>(() =>
new RelayCommand(OpenOverview)).Value;
public RelayCommand OpenPracticalDemoCmd => new Lazy<RelayCommand>(() =>
new RelayCommand(OpenPracticalDemo)).Value;
public RelayCommand GlobalShortcutInfoCmd => new Lazy<RelayCommand>(() =>
new RelayCommand(() => Growl.Info("Global Shortcut Info"))).Value;
@@ -141,9 +140,9 @@ namespace HandyControlDemo.ViewModel
if (e.AddedItems.Count == 0) return;
if (e.AddedItems[0] is DemoItemModel item)
{
if (Equals(_demoItemCurrent, item)) return;
if (Equals(DemoItemCurrent, item)) return;
_demoItemCurrent = item;
DemoItemCurrent = item;
ContentTitle = item.Name;
var obj = AssemblyHelper.ResolveByKey(item.TargetCtlName);
var ctl = obj ?? AssemblyHelper.CreateInternalInstance($"UserControl.{item.TargetCtlName}");
@@ -152,14 +151,11 @@ namespace HandyControlDemo.ViewModel
}
}
/// <summary>
/// 打开概览
/// </summary>
private void OpenOverview()
private void OpenPracticalDemo()
{
Messenger.Default.Send<object>(null, MessageToken.ClearLeftSelected);
Messenger.Default.Send(true, MessageToken.FullSwitch);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.OverView}"), MessageToken.LoadShowContent);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.PracticalDemo}"), MessageToken.LoadShowContent);
}
#endregion
@@ -68,6 +68,26 @@ namespace HandyControl.Controls
}
}
public static readonly RoutedEvent OpenedEvent =
EventManager.RegisterRoutedEvent("Opened", RoutingStrategy.Bubble,
typeof(RoutedEventHandler), typeof(Drawer));
public event RoutedEventHandler Opened
{
add => AddHandler(OpenedEvent, value);
remove => RemoveHandler(OpenedEvent, value);
}
public static readonly RoutedEvent ClosedEvent =
EventManager.RegisterRoutedEvent("Closed", RoutingStrategy.Bubble,
typeof(RoutedEventHandler), typeof(Drawer));
public event RoutedEventHandler Closed
{
add => AddHandler(ClosedEvent, value);
remove => RemoveHandler(ClosedEvent, value);
}
public static readonly DependencyProperty IsOpenProperty = DependencyProperty.Register(
"IsOpen", typeof(bool), typeof(Drawer), new FrameworkPropertyMetadata(ValueBoxes.FalseBox, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnIsOpenChanged));
@@ -217,6 +237,11 @@ namespace HandyControl.Controls
{
_windowContentElement.SetCurrentValue(RenderTransformOriginProperty, _contentRenderTransformOrigin);
_layer.Remove(_container);
RaiseEvent(new RoutedEventArgs(ClosedEvent, this));
}
else
{
RaiseEvent(new RoutedEventArgs(OpenedEvent, this));
}
}
@@ -284,7 +309,6 @@ namespace HandyControl.Controls
Storyboard.SetTargetProperty(drawerAnimation, new PropertyPath(_animationPropertyName));
_storyboard.Children.Add(drawerAnimation);
}
_storyboard.Begin();
}
@@ -68,7 +68,12 @@
<Compile Include="$(MSBuildThisFileDirectory)Media\Animation\LinearGeometryKeyFrame.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Animation\ResolvedKeyFrameEntry.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Animation\SplineGeometryKeyFrame.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\BlendEffectBox.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\BrightnessEffect.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\ColorComplementEffect.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\ColorMatrixEffect.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\ContrastEffect.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\EffectBase.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Media\Effects\GrayScaleEffect.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Converter\BorderCircularClipConverter.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Converter\ColLayoutConverter.cs" />
@@ -398,6 +403,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)Themes\Styles\BlendEffectBox.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)Themes\Styles\Base\FrameBaseStyle.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -968,7 +977,10 @@
</Page>
</ItemGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\BrightnessEffect.fx" />
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\ColorComplementEffect.fx" />
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\ColorMatrixEffect.fx" />
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\ContrastEffect.fx" />
<None Include="$(MSBuildThisFileDirectory)Resources\Effects\GrayScaleEffect.fx" />
</ItemGroup>
<ItemGroup>
@@ -0,0 +1,116 @@
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Markup;
using System.Windows.Media.Effects;
namespace HandyControl.Media.Effects
{
[DefaultProperty("Content")]
[ContentProperty("Content")]
public class BlendEffectBox : Control
{
private readonly ContentPresenter _effectBottomPresenter;
private readonly ContentPresenter _effectTopPresenter;
private bool _isInternalAction;
public BlendEffectBox()
{
_effectTopPresenter = new ContentPresenter();
ActualContent = _effectTopPresenter;
_effectBottomPresenter = new ContentPresenter();
_effectBottomPresenter.SetBinding(ContentPresenter.ContentProperty, new Binding(ContentProperty.Name)
{
Source = this
});
var effects = new ObservableCollection<Effect>();
effects.CollectionChanged += OnEffectsChanged;
Effects = effects;
}
private void OnEffectsChanged(object sender, NotifyCollectionChangedEventArgs e)
{
if (Effects == null || Effects.Count == 0)
{
ClearEffect(_effectTopPresenter);
return;
}
if (_isInternalAction) return;
_isInternalAction = true;
AddEffect(_effectTopPresenter, Effects.Count);
_isInternalAction = false;
}
private void ClearEffect(ContentPresenter presenter)
{
if (presenter == null) return;
if (ReferenceEquals(_effectBottomPresenter, presenter))
{
_effectBottomPresenter.SetCurrentValue(EffectProperty, null);
return;
}
presenter.SetCurrentValue(EffectProperty, null);
ClearEffect(presenter.Content as ContentPresenter);
}
private void AddEffect(ContentPresenter presenter, int count)
{
var newCount = --count;
if (newCount >= 0)
{
presenter.Effect = Effects[newCount];
var nextCount = --count;
if (nextCount >= 1)
{
var content = new ContentPresenter();
presenter.Content = content;
AddEffect(content, newCount);
}
else if (nextCount >= 0)
{
_effectBottomPresenter.Effect = Effects[0];
presenter.Content = _effectBottomPresenter;
}
else
{
presenter.Content = _effectBottomPresenter;
}
}
}
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Bindable(true)]
public Collection<Effect> Effects { get; }
public static readonly DependencyProperty ContentProperty = DependencyProperty.Register(
"Content", typeof(FrameworkElement), typeof(BlendEffectBox), new PropertyMetadata(default(FrameworkElement)));
public FrameworkElement Content
{
get => (FrameworkElement)GetValue(ContentProperty);
set => SetValue(ContentProperty, value);
}
internal static readonly DependencyProperty ActualContentProperty = DependencyProperty.Register(
"ActualContent", typeof(FrameworkElement), typeof(BlendEffectBox), new PropertyMetadata(default(FrameworkElement)));
internal FrameworkElement ActualContent
{
get => (FrameworkElement) GetValue(ActualContentProperty);
set => SetValue(ActualContentProperty, value);
}
}
}
@@ -0,0 +1,37 @@
using System;
using System.Windows;
using System.Windows.Media.Effects;
using HandyControl.Data;
namespace HandyControl.Media.Effects
{
public class BrightnessEffect : EffectBase
{
private static readonly PixelShader Shader;
static BrightnessEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/HandyControl;component/Resources/Effects/BrightnessEffect.ps")
};
}
public BrightnessEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(BrightnessProperty);
}
public static readonly DependencyProperty BrightnessProperty = DependencyProperty.Register(
"Brightness", typeof(double), typeof(BrightnessEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
public double Brightness
{
get => (double)GetValue(BrightnessProperty);
set => SetValue(BrightnessProperty, value);
}
}
}
@@ -1,14 +1,10 @@
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Effects;
namespace HandyControl.Media.Effects
{
public class ColorComplementEffect : ShaderEffect
public class ColorComplementEffect : EffectBase
{
public static readonly DependencyProperty InputProperty = RegisterPixelShaderSamplerProperty("Input", typeof(ColorComplementEffect), 0);
private static readonly PixelShader Shader;
static ColorComplementEffect()
@@ -25,11 +21,5 @@ namespace HandyControl.Media.Effects
UpdateShaderValue(InputProperty);
}
public Brush Input
{
get => (Brush)GetValue(InputProperty);
set => SetValue(InputProperty, value);
}
}
}
@@ -0,0 +1,247 @@
using System;
using System.Windows;
using System.Windows.Media.Effects;
using HandyControl.Data;
namespace HandyControl.Media.Effects
{
public class ColorMatrixEffect : EffectBase
{
private static readonly PixelShader Shader;
static ColorMatrixEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/HandyControl;component/Resources/Effects/ColorMatrixEffect.ps")
};
}
public ColorMatrixEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(M11Property);
UpdateShaderValue(M21Property);
UpdateShaderValue(M31Property);
UpdateShaderValue(M41Property);
UpdateShaderValue(M51Property);
UpdateShaderValue(M12Property);
UpdateShaderValue(M22Property);
UpdateShaderValue(M32Property);
UpdateShaderValue(M42Property);
UpdateShaderValue(M52Property);
UpdateShaderValue(M13Property);
UpdateShaderValue(M23Property);
UpdateShaderValue(M33Property);
UpdateShaderValue(M43Property);
UpdateShaderValue(M53Property);
UpdateShaderValue(M14Property);
UpdateShaderValue(M24Property);
UpdateShaderValue(M34Property);
UpdateShaderValue(M44Property);
UpdateShaderValue(M54Property);
}
#region Line1
public static readonly DependencyProperty M11Property = DependencyProperty.Register(
"M11", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
public double M11
{
get => (double)GetValue(M11Property);
set => SetValue(M11Property, value);
}
public static readonly DependencyProperty M21Property = DependencyProperty.Register(
"M21", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(1)));
public double M21
{
get => (double)GetValue(M21Property);
set => SetValue(M21Property, value);
}
public static readonly DependencyProperty M31Property = DependencyProperty.Register(
"M31", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(2)));
public double M31
{
get => (double)GetValue(M31Property);
set => SetValue(M31Property, value);
}
public static readonly DependencyProperty M41Property = DependencyProperty.Register(
"M41", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(3)));
public double M41
{
get => (double)GetValue(M41Property);
set => SetValue(M41Property, value);
}
public static readonly DependencyProperty M51Property = DependencyProperty.Register(
"M51", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(4)));
public double M51
{
get => (double)GetValue(M51Property);
set => SetValue(M51Property, value);
}
#endregion
#region Line2
public static readonly DependencyProperty M12Property = DependencyProperty.Register(
"M12", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(5)));
public double M12
{
get => (double)GetValue(M12Property);
set => SetValue(M12Property, value);
}
public static readonly DependencyProperty M22Property = DependencyProperty.Register(
"M22", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(6)));
public double M22
{
get => (double)GetValue(M22Property);
set => SetValue(M22Property, value);
}
public static readonly DependencyProperty M32Property = DependencyProperty.Register(
"M32", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(7)));
public double M32
{
get => (double)GetValue(M32Property);
set => SetValue(M32Property, value);
}
public static readonly DependencyProperty M42Property = DependencyProperty.Register(
"M42", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(8)));
public double M42
{
get => (double)GetValue(M42Property);
set => SetValue(M42Property, value);
}
public static readonly DependencyProperty M52Property = DependencyProperty.Register(
"M52", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(9)));
public double M52
{
get => (double)GetValue(M52Property);
set => SetValue(M52Property, value);
}
#endregion
#region Line3
public static readonly DependencyProperty M13Property = DependencyProperty.Register(
"M13", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(10)));
public double M13
{
get => (double)GetValue(M13Property);
set => SetValue(M13Property, value);
}
public static readonly DependencyProperty M23Property = DependencyProperty.Register(
"M23", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(11)));
public double M23
{
get => (double)GetValue(M23Property);
set => SetValue(M23Property, value);
}
public static readonly DependencyProperty M33Property = DependencyProperty.Register(
"M33", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(12)));
public double M33
{
get => (double)GetValue(M33Property);
set => SetValue(M33Property, value);
}
public static readonly DependencyProperty M43Property = DependencyProperty.Register(
"M43", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(13)));
public double M43
{
get => (double)GetValue(M43Property);
set => SetValue(M43Property, value);
}
public static readonly DependencyProperty M53Property = DependencyProperty.Register(
"M53", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(14)));
public double M53
{
get => (double)GetValue(M53Property);
set => SetValue(M53Property, value);
}
#endregion
#region Line4
public static readonly DependencyProperty M14Property = DependencyProperty.Register(
"M14", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(15)));
public double M14
{
get => (double)GetValue(M14Property);
set => SetValue(M14Property, value);
}
public static readonly DependencyProperty M24Property = DependencyProperty.Register(
"M24", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(16)));
public double M24
{
get => (double)GetValue(M24Property);
set => SetValue(M24Property, value);
}
public static readonly DependencyProperty M34Property = DependencyProperty.Register(
"M34", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(17)));
public double M34
{
get => (double)GetValue(M34Property);
set => SetValue(M34Property, value);
}
public static readonly DependencyProperty M44Property = DependencyProperty.Register(
"M44", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(18)));
public double M44
{
get => (double)GetValue(M44Property);
set => SetValue(M44Property, value);
}
public static readonly DependencyProperty M54Property = DependencyProperty.Register(
"M54", typeof(double), typeof(ColorMatrixEffect), new PropertyMetadata(ValueBoxes.Double0Box, PixelShaderConstantCallback(19)));
public double M54
{
get => (double)GetValue(M54Property);
set => SetValue(M54Property, value);
}
#endregion
}
}
@@ -0,0 +1,37 @@
using System;
using System.Windows;
using System.Windows.Media.Effects;
using HandyControl.Data;
namespace HandyControl.Media.Effects
{
public class ContrastEffect : EffectBase
{
private static readonly PixelShader Shader;
static ContrastEffect()
{
Shader = new PixelShader
{
UriSource = new Uri("pack://application:,,,/HandyControl;component/Resources/Effects/ContrastEffect.ps")
};
}
public ContrastEffect()
{
PixelShader = Shader;
UpdateShaderValue(InputProperty);
UpdateShaderValue(ContrastProperty);
}
public static readonly DependencyProperty ContrastProperty = DependencyProperty.Register(
"Contrast", typeof(double), typeof(ContrastEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
public double Contrast
{
get => (double)GetValue(ContrastProperty);
set => SetValue(ContrastProperty, value);
}
}
}
@@ -0,0 +1,17 @@
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Effects;
namespace HandyControl.Media.Effects
{
public abstract class EffectBase : ShaderEffect
{
public static readonly DependencyProperty InputProperty = RegisterPixelShaderSamplerProperty("Input", typeof(EffectBase), 0);
public Brush Input
{
get => (Brush)GetValue(InputProperty);
set => SetValue(InputProperty, value);
}
}
}
@@ -1,15 +1,12 @@
using System;
using System.Windows;
using System.Windows.Media;
using System.Windows.Media.Effects;
using HandyControl.Data;
namespace HandyControl.Media.Effects
{
public class GrayScaleEffect : ShaderEffect
public class GrayScaleEffect : EffectBase
{
public static readonly DependencyProperty InputProperty = RegisterPixelShaderSamplerProperty("Input", typeof(GrayScaleEffect), 0);
private static readonly PixelShader Shader;
static GrayScaleEffect()
@@ -28,12 +25,6 @@ namespace HandyControl.Media.Effects
UpdateShaderValue(ScaleProperty);
}
public Brush Input
{
get => (Brush)GetValue(InputProperty);
set => SetValue(InputProperty, value);
}
public static readonly DependencyProperty ScaleProperty = DependencyProperty.Register(
"Scale", typeof(double), typeof(GrayScaleEffect), new PropertyMetadata(ValueBoxes.Double1Box, PixelShaderConstantCallback(0)));
@@ -0,0 +1,13 @@
using System.Windows.Markup;
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Controls")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Tools")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Tools.Converter")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Interactivity")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Expression.Shapes")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Expression.Media")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Media.Animation")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Media.Effects")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Data")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Properties.Langs")]
[assembly: XmlnsPrefix("https://handyorg.github.io/handycontrol", "hc")]
@@ -1,5 +1,4 @@
using System.Windows.Markup;
#if !Core
using System.Reflection;
using System.Runtime.InteropServices;
@@ -12,8 +11,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("2.4.0")]
#endif
[assembly: AssemblyVersion("2.5.0")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Controls")]
[assembly: XmlnsDefinition("https://handyorg.github.io/handycontrol", "HandyControl.Tools")]
@@ -0,0 +1,10 @@
sampler2D implicitInput : register(s0);
float brightness : register(C0);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(implicitInput, uv);
color.rgba *= brightness;
return color;
}
@@ -1,3 +1,5 @@
sampler2D implicitInput : register(s0);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(implicitInput, uv);
@@ -0,0 +1,51 @@
sampler2D implicitInput : register(s0);
float a : register(c0);
float b : register(c1);
float c : register(c2);
float d : register(c3);
float e : register(c4);
float f : register(c5);
float g : register(c6);
float h : register(c7);
float i : register(c8);
float j : register(c9);
float k : register(c10);
float l : register(c11);
float m : register(c12);
float n : register(c13);
float o : register(c14);
float p : register(c15);
float q : register(c16);
float r : register(c17);
float s : register(c18);
float t : register(c19);
/*
-- -- -- --
| a b c d e | | R |
| f g h i j | | G |
A = | k l m n o | C = | B | R = AC
| p q r s t | | A |
-- -- | 1 |
-- --
*/
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(implicitInput, uv);
float4x4 matrixA1 =
{
a, b, c, d,
f, g, h, i,
k, l, m, n,
p, q, r, s
};
return mul(matrixA1, color) + float4( e, j, o, t );
}
@@ -0,0 +1,12 @@
sampler2D implicitInput : register(s0);
float contrast : register(C0);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(implicitInput, uv);
float value = (1 - contrast) / 2;
color.rgba = color.rgba * contrast + value;
return color;
}
@@ -1,5 +1,6 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:HandyControl.Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Basic/Geometries.xaml"/>
@@ -15,10 +16,11 @@
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="MinHeight" Value="{StaticResource DefaultControlHeight}"/>
<Setter Property="controls:BorderElement.CornerRadius" Value="{StaticResource DefaultCornerRadius}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Expander">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<Border CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@@ -21,7 +21,7 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
@@ -0,0 +1,14 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:effects="clr-namespace:HandyControl.Media.Effects">
<Style TargetType="effects:BlendEffectBox">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="effects:BlendEffectBox">
<ContentPresenter ContentSource="ActualContent"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
@@ -84,6 +84,7 @@
<ResourceDictionary Source="FlowDocument.xaml"/>
<ResourceDictionary Source="NavigationWindow.xaml"/>
<ResourceDictionary Source="Frame.xaml"/>
<ResourceDictionary Source="BlendEffectBox.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>