Merge branch 'master' into MenuItemAttach

This commit is contained in:
NaBian authored and GitHub committed 2023-09-28 21:14:31 +08:00
commit 60b359ec20
1325 files changed
+85761 -74012

No files matched your search

+7 -5
View File
@@ -1,11 +1,13 @@
<Project>
<Project>
<PropertyGroup>
<UseWPF>true</UseWPF>
<Version>3.0.0.0</Version>
<FileVersion>3.0.0.0</FileVersion>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<Version>3.5.0.0</Version>
<FileVersion>3.5.0.0</FileVersion>
<AssemblyVersion>3.5.0.0</AssemblyVersion>
<LangVersion>latest</LangVersion>
<Copyright>Copyright © HandyOrg 2018-2020</Copyright>
<Copyright>Copyright © HandyOrg 2018-2023</Copyright>
<Authors>HandyOrg</Authors>
<RepositoryUrl>https://github.com/HandyOrg/HandyControl</RepositoryUrl>
<PackageProjectUrl>https://handyorg.github.io/</PackageProjectUrl>
</PropertyGroup>
</Project>
+25 -2
View File
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28729.10
# Visual Studio Version 17
VisualStudioVersion = 17.1.32228.430
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Net_GE45", "Net_GE45\HandyControl_Net_GE45\HandyControl_Net_GE45.csproj", "{DC966E3D-BCFF-4652-98CF-070E5494749A}"
EndProject
@@ -25,16 +25,36 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Code", "Sh
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.Windows.Shell", "Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.shproj", "{BBE51380-8B21-49FF-9CFC-B29447A40999}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7F52CFD3-EF6C-4D3C-A9D4-B25BF726382A}"
ProjectSection(SolutionItems) = preProject
Directory.Build.Props = Directory.Build.Props
EndProjectSection
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.Expression.Drawing", "Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.shproj", "{E5DC7C25-6293-4660-B5FB-186496386B90}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "System.Windows.Interactivity", "Shared\System.Windows.Interactivity\System.Windows.Interactivity.shproj", "{6F0C9CFF-2269-46A7-9664-478354C582A4}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.Expression.Interactions", "Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.shproj", "{3531857C-28FC-4E0F-82D9-BFBB70740E04}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5
Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5
Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5
Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5
Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 5
Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems*{3531857c-28fc-4e0f-82d9-bfbb70740e04}*SharedItemsImports = 13
Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems*{6f0c9cff-2269-46a7-9664-478354c582a4}*SharedItemsImports = 13
Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{9a7b52e6-94bb-4e7e-bb6a-7cf6761b79a7}*SharedItemsImports = 5
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{aac11083-faca-405d-9197-5c1212d65656}*SharedItemsImports = 13
Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.projitems*{bbe51380-8b21-49ff-9cfc-b29447a40999}*SharedItemsImports = 13
Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{c4694269-c9b8-45d5-87f8-d0088c532510}*SharedItemsImports = 13
Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{d8ae88f8-c36b-4d10-a7f9-22ffcfba5231}*SharedItemsImports = 5
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5
Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5
Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5
Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems*{dc966e3d-bcff-4652-98cf-070e5494749a}*SharedItemsImports = 5
Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems*{e5dc7c25-6293-4660-b5fb-186496386b90}*SharedItemsImports = 13
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -88,6 +108,9 @@ Global
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231} = {35E3F9C0-8924-4536-BE09-F3761FDBF066}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{BBE51380-8B21-49FF-9CFC-B29447A40999} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{E5DC7C25-6293-4660-B5FB-186496386B90} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{6F0C9CFF-2269-46A7-9664-478354C582A4} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{3531857C-28FC-4E0F-82D9-BFBB70740E04} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
@@ -6,13 +6,16 @@
<TargetFramework>net40</TargetFramework>
<ApplicationIcon>..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico</ApplicationIcon>
<NoWarn>0108;MSB3026;MSB3061</NoWarn>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit" Version="6.0.1" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="MvvmLightLibs" Version="5.4.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>
@@ -169,15 +172,24 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ca-Es.png">
<Link>Resources\Img\Flag\ca-Es.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\cs.png">
<Link>Resources\Img\Flag\cs.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\en.png">
<Link>Resources\Img\Flag\en.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\es.png">
<Link>Resources\Img\Flag\es.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\fa.png">
<Link>Resources\Img\Flag\fa.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\fr.png">
<Link>Resources\Img\Flag\fr.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ja.png">
<Link>Resources\Img\Flag\ja.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ko-KR.png">
<Link>Resources\Img\Flag\ko-KR.png</Link>
</Resource>
@@ -193,216 +205,15 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\tr.png">
<Link>Resources\Img\Flag\tr.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Slack.png">
<Link>Resources\Img\Slack.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon-white.ico">
<Link>Resources\Img\icon-white.ico</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico">
<Link>Resources\Img\icon.ico</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\qq_group_1.jpg">
<Link>Resources\Img\qq_group_1.jpg</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\qq_group_2.jpg">
<Link>Resources\Img\qq_group_2.jpg</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Animation_16x.png">
<Link>Resources\Img\LeftMainContent\Animation_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\BorderElement_16x.png">
<Link>Resources\Img\LeftMainContent\BorderElement_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Brush_16x.png">
<Link>Resources\Img\LeftMainContent\Brush_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Bubble_16xLG.png">
<Link>Resources\Img\LeftMainContent\Bubble_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ButtonClick_16x.png">
<Link>Resources\Img\LeftMainContent\ButtonClick_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Calendar_16x.png">
<Link>Resources\Img\LeftMainContent\Calendar_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Carousel_16x.png">
<Link>Resources\Img\LeftMainContent\Carousel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\CheckBox_16x.png">
<Link>Resources\Img\LeftMainContent\CheckBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\CheckBoxList_16x.png">
<Link>Resources\Img\LeftMainContent\CheckBoxList_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ColorPalette_16x.png">
<Link>Resources\Img\LeftMainContent\ColorPalette_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ColorWheel_16x.png">
<Link>Resources\Img\LeftMainContent\ColorWheel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ComboBox_16x.png">
<Link>Resources\Img\LeftMainContent\ComboBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ContextMenu_16x.png">
<Link>Resources\Img\LeftMainContent\ContextMenu_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DataGrid_16x.png">
<Link>Resources\Img\LeftMainContent\DataGrid_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DatePicker_16x.png">
<Link>Resources\Img\LeftMainContent\DatePicker_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DetailDataView_16x.png">
<Link>Resources\Img\LeftMainContent\DetailDataView_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Dialog_16x.png">
<Link>Resources\Img\LeftMainContent\Dialog_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DotLarge_16x.png">
<Link>Resources\Img\LeftMainContent\DotLarge_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Expander_16x.png">
<Link>Resources\Img\LeftMainContent\Expander_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\FlipVertical_16x.png">
<Link>Resources\Img\LeftMainContent\FlipVertical_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Flow_16x.png">
<Link>Resources\Img\LeftMainContent\Flow_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\GoToTop_16x.png">
<Link>Resources\Img\LeftMainContent\GoToTop_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\GroupBox_16x.png">
<Link>Resources\Img\LeftMainContent\GroupBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\HoverMenu_16x.png">
<Link>Resources\Img\LeftMainContent\HoverMenu_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Image_16x.png">
<Link>Resources\Img\LeftMainContent\Image_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ImageBrowser_16x.png">
<Link>Resources\Img\LeftMainContent\ImageBrowser_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Label_16x.png">
<Link>Resources\Img\LeftMainContent\Label_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\layout-FlexLayout-16.png">
<Link>Resources\Img\LeftMainContent\layout-FlexLayout-16.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\LinearCarousel_16x.png">
<Link>Resources\Img\LeftMainContent\LinearCarousel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ListBox_16x.png">
<Link>Resources\Img\LeftMainContent\ListBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ListView_16x.png">
<Link>Resources\Img\LeftMainContent\ListView_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Loading_Blue_16x.png">
<Link>Resources\Img\LeftMainContent\Loading_Blue_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Message_16x.png">
<Link>Resources\Img\LeftMainContent\Message_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\NotificationHub_16x.png">
<Link>Resources\Img\LeftMainContent\NotificationHub_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\NumericListBox_16x.png">
<Link>Resources\Img\LeftMainContent\NumericListBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Paginator_16x.png">
<Link>Resources\Img\LeftMainContent\Paginator_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Panel_16x.png">
<Link>Resources\Img\LeftMainContent\Panel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PasswordBox_16x.png">
<Link>Resources\Img\LeftMainContent\PasswordBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Path_16x.png">
<Link>Resources\Img\LeftMainContent\Path_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ProgressBar_16x.png">
<Link>Resources\Img\LeftMainContent\ProgressBar_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ProgressButton_16x.png">
<Link>Resources\Img\LeftMainContent\ProgressButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RadioButton_16x.png">
<Link>Resources\Img\LeftMainContent\RadioButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PropertyGridEditorPart_16x.png">
<Link>Resources\Img\LeftMainContent\PropertyGridEditorPart_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RepeatButton_16x.png">
<Link>Resources\Img\LeftMainContent\RepeatButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RichTextBox_16x.png">
<Link>Resources\Img\LeftMainContent\RichTextBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ScrollBox_16x.png">
<Link>Resources\Img\LeftMainContent\ScrollBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Search_16x.png">
<Link>Resources\Img\LeftMainContent\Search_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Shield_16x.png">
<Link>Resources\Img\LeftMainContent\Shield_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Slider_16x.png">
<Link>Resources\Img\LeftMainContent\Slider_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\SortAscending_grey_16x.png">
<Link>Resources\Img\LeftMainContent\SortAscending_grey_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\SplitterControl_16x.png">
<Link>Resources\Img\LeftMainContent\SplitterControl_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Star.png">
<Link>Resources\Img\LeftMainContent\Star.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TabPage_16x.png">
<Link>Resources\Img\LeftMainContent\TabPage_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Tag_16x.png">
<Link>Resources\Img\LeftMainContent\Tag_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TextBlock_16x.png">
<Link>Resources\Img\LeftMainContent\TextBlock_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TextBox_16x.png">
<Link>Resources\Img\LeftMainContent\TextBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Timeline_16x.png">
<Link>Resources\Img\LeftMainContent\Timeline_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TimePicker_16x.png">
<Link>Resources\Img\LeftMainContent\TimePicker_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Time_color_16x.png">
<Link>Resources\Img\LeftMainContent\Time_color_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Toggle_16x.png">
<Link>Resources\Img\LeftMainContent\Toggle_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ToolBar_16x.png">
<Link>Resources\Img\LeftMainContent\ToolBar_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Transfer_16x.png">
<Link>Resources\Img\LeftMainContent\Transfer_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TreeView_16x.png">
<Link>Resources\Img\LeftMainContent\TreeView_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\User_16x.png">
<Link>Resources\Img\LeftMainContent\User_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\WindowsForm_16x.png">
<Link>Resources\Img\LeftMainContent\WindowsForm_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\GridPane_16x.png">
<Link>Resources\Img\LeftMainContent\GridPane_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\under_construction.gif">
<Link>Resources\Img\under_construction.gif</Link>
</Resource>
@@ -421,90 +232,24 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\DevOps\DevOps-TestPlans.png">
<Link>Resources\Img\DevOps\DevOps-TestPlans.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\MainMenuControl_16x.png">
<Link>Resources\Img\LeftMainContent\MainMenuControl_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\fabric-icons.ttf">
<Link>Resources\fabric-icons.ttf</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\xshd\CSharp-Dark.xshd">
<Link>Resources\xshd\CSharp-Dark.xshd</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\xshd\XML-Dark.xshd">
<Link>Resources\xshd\XML-Dark.xshd</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Registry.txt">
<Link>Resources\Registry.txt</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\brackets_Square_16xLG.png">
<Link>Resources\Img\LeftMainContent\brackets_Square_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ButtonGroup_16x.png">
<Link>Resources\Img\LeftMainContent\ButtonGroup_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\VSO_Card_16x.png">
<Link>Resources\Img\LeftMainContent\VSO_Card_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ImageStack_16x.png">
<Link>Resources\Img\LeftMainContent\ImageStack_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\IncreaseHorizontalSpacing_16x.png">
<Link>Resources\Img\LeftMainContent\IncreaseHorizontalSpacing_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Dynamic_16x.png">
<Link>Resources\Img\LeftMainContent\Dynamic_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PolygonHexagon_16x.png">
<Link>Resources\Img\LeftMainContent\PolygonHexagon_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\HandyControl.png">
<Link>Resources\Img\LeftMainContent\HandyControl.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Procedure_16x.png">
<Link>Resources\Img\LeftMainContent\Procedure_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Dance.png">
<Link>Resources\Img\Dance.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\thumbs_up.png">
<Link>Resources\Img\LeftMainContent\thumbs_up.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\SplitButton_16x.png">
<Link>Resources\Img\LeftMainContent\SplitButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DataGenerator_16x.png">
<Link>Resources\Img\LeftMainContent\DataGenerator_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DottedSplitter_16x.png">
<Link>Resources\Img\LeftMainContent\DottedSplitter_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PopupCursor_16x.png">
<Link>Resources\Img\LeftMainContent\PopupCursor_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TransitioningContentControl_16x.png">
<Link>Resources\Img\LeftMainContent\TransitioningContentControl_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\View_Portrait_16x.png">
<Link>Resources\Img\LeftMainContent\View_Portrait_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TransformRelative_16x.png">
<Link>Resources\Img\LeftMainContent\TransformRelative_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Effects_16x.png">
<Link>Resources\Img\LeftMainContent\Effects_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Ellipsis_16x.png">
<Link>Resources\Img\LeftMainContent\Ellipsis_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\WPFFlowDocument_16x.png">
<Link>Resources\Img\LeftMainContent\WPFFlowDocument_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png">
<Link>Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png</Link>
</Resource>
<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>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\WindowScreenshot_16x.png">
<Link>Resources\Img\LeftMainContent\WindowScreenshot_16x.png</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.tr.resx">
@@ -513,15 +258,24 @@
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ca-ES.resx">
<Link>Properties\Langs\Lang.ca-ES.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.cs.resx">
<Link>Properties\Langs\Lang.cs.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.en.resx">
<Link>Properties\Langs\Lang.en.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.es.resx">
<Link>Properties\Langs\Lang.es.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fa.resx">
<Link>Properties\Langs\Lang.fa.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fr.resx">
<Link>Properties\Langs\Lang.fr.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ja.resx">
<Link>Properties\Langs\Lang.ja.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
@@ -567,8 +321,10 @@
<PostBuildEvent>
if not exist Langs md Langs
rd /s /q Langs\en
rd /s /q Langs\es
rd /s /q Langs\fa
rd /s /q Langs\fr
rd /s /q Langs\ja
rd /s /q Langs\ko-KR
rd /s /q Langs\pt-BR
rd /s /q Langs\pl
@@ -576,8 +332,10 @@
rd /s /q Langs\tr
rd /s /q Langs\ca-Es
move en Langs
move es Langs
move fa Langs
move fr Langs
move ja Langs
move ko-KR Langs
move pt-BR Langs
move pl Langs
@@ -585,10 +343,6 @@
move tr Langs
move ca-Es Langs
</PostBuildEvent>
<Copyright>Copyright © HandyOrg 2018-2021</Copyright>
<AssemblyVersion>3.1.0.0</AssemblyVersion>
<FileVersion>3.1.0.0</FileVersion>
<Version>3.1.0.0</Version>
<RepositoryUrl>https://github.com/HandyOrg/HandyControl</RepositoryUrl>
<ApplicationManifest>..\..\Shared\HandyControlDemo_Shared\app.manifest</ApplicationManifest>
</PropertyGroup>
</Project>
@@ -3,18 +3,15 @@
<AssemblyName>HandyControl</AssemblyName>
<RootNamespace>HandyControl</RootNamespace>
<TargetFramework>net40</TargetFramework>
<Description>Contains some commonly used simple WPF controls</Description>
<Description>Contains some simple and commonly used WPF controls</Description>
<PackageId>HandyControl</PackageId>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<NoWarn>0067;0649;1591;0108;1717</NoWarn>
<UseWPF>true</UseWPF>
<AssemblyOriginatorKeyFile>..\..\Shared\HandyControl_Shared\key.snk</AssemblyOriginatorKeyFile>
<Copyright>Copyright © HandyOrg 2018-2021</Copyright>
<AssemblyVersion>3.1.0.0</AssemblyVersion>
<FileVersion>3.1.0.0</FileVersion>
<Version>3.1.0.0</Version>
<RepositoryUrl>https://github.com/HandyOrg/HandyControl</RepositoryUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageTags>WPF C# Control</PackageTags>
<PackageReleaseNotes>Changes are detailed at https://github.com/HandyOrg/HandyControl/releases</PackageReleaseNotes>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-Net40|AnyCPU' ">
<SignAssembly>true</SignAssembly>
@@ -41,8 +38,14 @@
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ca-ES.resx">
<Link>Properties\Langs\Lang.ca-ES.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.cs.resx">
<Link>Properties\Langs\Lang.cs.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.en.resx">
<Link>Properties\Langs\Lang.en.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.es.resx">
<Link>Properties\Langs\Lang.es.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.fa.resx">
<Link>Properties\Langs\Lang.fa.resx</Link>
@@ -50,6 +53,9 @@
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.fr.resx">
<Link>Properties\Langs\Lang.fr.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ja.resx">
<Link>Properties\Langs\Lang.ja.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
@@ -80,6 +86,9 @@
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
<Import Project="..\..\Shared\Microsoft.Windows.Shell\Microsoft.Windows.Shell.projitems" Label="Shared" />
<Import Project="..\..\Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems" Label="Shared" />
<Import Project="..\..\Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems" Label="Shared" />
<Import Project="..\..\Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems" Label="Shared" />
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\dropper.cur">
<Link>Resources\dropper.cur</Link>
@@ -192,6 +201,10 @@
<None Include="Themes\Styles\Window.xaml">
<SubType>Designer</SubType>
</None>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Page Include="Themes\Theme.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -2,37 +2,30 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls"
xmlns:ex="clr-namespace:HandyControl.Tools.Extension"
xmlns:themes="clr-namespace:HandyControl.Themes"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:interactivity="clr-namespace:HandyControl.Interactivity"
xmlns:langs="clr-namespace:HandyControl.Properties.Langs">
<ResourceDictionary.MergedDictionaries>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Tag.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Base/ComboBoxBaseStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style x:Key="Tag4CheckComboBoxStyle" BasedOn="{StaticResource TagBaseStyle}" TargetType="hc:Tag">
<Setter Property="Margin" Value="0,3,3,0"/>
<Setter Property="Padding" Value="6,3,4,3"/>
<Setter Property="Height" Value="Auto"/>
<Setter Property="Padding" Value="6,2,4,2" />
<Setter Property="Height" Value="Auto" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="hc:Tag">
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
<Button Focusable="False" Name="ButtonClose" Visibility="{TemplateBinding ShowCloseButton,Converter={StaticResource Boolean2VisibilityConverter}}" Command="interactivity:ControlCommands.Close" Margin="10,0,0,0" Width="16" Height="16" Padding="0,4" Grid.Column="1" Style="{StaticResource ButtonIcon}" hc:IconElement.Geometry="{StaticResource CloseGeometry}" Foreground="{TemplateBinding Foreground}"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
<Button Focusable="False" Name="ButtonClose" Visibility="{TemplateBinding ShowCloseButton,Converter={StaticResource Boolean2VisibilityConverter}}" Command="interactivity:ControlCommands.Close" Margin="10,0,0,0" Width="16" Height="16" Padding="0,4" Grid.Column="1" Style="{StaticResource ButtonIcon}" hc:IconElement.Geometry="{StaticResource CloseGeometry}" Foreground="{TemplateBinding Foreground}" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonClose">
<Setter Property="hc:IconElement.Geometry" Value="{StaticResource DeleteFillCircleGeometry}" TargetName="ButtonClose"/>
<Setter Property="Padding" Value="0" TargetName="ButtonClose"/>
<Setter Property="hc:IconElement.Geometry" Value="{StaticResource DeleteFillCircleGeometry}" TargetName="ButtonClose" />
<Setter Property="Padding" Value="0" TargetName="ButtonClose" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -41,24 +34,26 @@
</Style>
<Style x:Key="CheckComboBoxItemBaseStyle" TargetType="hc:CheckComboBoxItem">
<Setter Property="SnapsToDevicePixels" Value="True"/>
<Setter Property="Padding" Value="{StaticResource DefaultControlPadding}"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="MinHeight" Value="{StaticResource DefaultControlHeight}"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Padding" Value="{StaticResource DefaultControlPadding}" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="MinHeight" Value="{StaticResource DefaultControlHeight}" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="hc:CheckComboBoxItem">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{Binding Padding,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource ThicknessSplitConverter},ConverterParameter='1,0,1,0'}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{Binding Padding,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource ThicknessSplitConverter},ConverterParameter='1,0,1,0'}" SnapsToDevicePixels="true">
<CheckBox Foreground="{TemplateBinding Foreground}" HorizontalAlignment="Stretch" MinHeight="{TemplateBinding MinHeight}" FocusVisualStyle="{x:Null}" IsChecked="{Binding IsSelected,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</CheckBox>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource SecondaryRegionBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -69,448 +64,435 @@
<ControlTemplate x:Key="CheckComboBoxTemplate" TargetType="hc:CheckComboBox">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="30"/>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Popup x:Name="PART_Popup" PlacementTarget="{Binding ElementName=toggleButton}" StaysOpen="False" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" AllowsTransparency="true" Grid.ColumnSpan="2" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="0,4" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}"/>
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty/>
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</Popup>
<ToggleButton Grid.Column="0" x:Name="toggleButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" Style="{StaticResource ComboBoxToggleButton}"/>
<Border Grid.Column="0" Margin="-1,1">
<WrapPanel Name="PART_Panel" Margin="5,0,5,3"/>
<Border x:Name="border" Grid.ColumnSpan="2" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" />
<ToggleButton ClickMode="Release" BorderThickness="0" Grid.Column="1" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" HorizontalContentAlignment="Left" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" hc:IconElement.Width="14" Style="{StaticResource ToggleButtonIconTransparent}" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" hc:IconSwitchElement.Geometry="{StaticResource DownGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" Foreground="{TemplateBinding BorderBrush}" Focusable="False" />
<Border Grid.Column="0" Margin="-4 0">
<hc:UniformSpacingPanel x:Name="PART_Panel" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Spacing="{TemplateBinding TagSpacing}" ChildWrapping="Wrap" ItemVerticalAlignment="Center" />
</Border>
<Popup x:Name="PART_Popup" StaysOpen="False" PlacementTarget="{Binding ElementName=border}" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" AllowsTransparency="true" Grid.ColumnSpan="2" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Decorator Margin="8 0">
<Border Effect="{StaticResource EffectShadow2}" BorderThickness="0,1,0,0" Margin="0,0,0,8" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MinWidth="{Binding ActualWidth, ElementName=border}" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="2" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}" />
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</Decorator>
</Popup>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
<Setter Property="Height" TargetName="dropDownBorder" Value="95" />
</Trigger>
<Trigger Property="hc:DropDownElement.ConsistentWidth" Value="True">
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<Trigger Property="IsOpen" Value="True" SourceName="PART_Popup">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.4" TargetName="toggleButton"/>
<Setter Property="Opacity" Value="0.4" TargetName="PART_Panel"/>
<Setter Property="Opacity" Value="0.4" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="CheckComboBoxBaseStyle" TargetType="hc:CheckComboBox">
<Setter Property="TagStyle" Value="{StaticResource Tag4CheckComboBoxStyle}"/>
<Setter Property="SelectionMode" Value="Multiple"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}"/>
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<Setter Property="ItemContainerStyle" Value="{StaticResource CheckComboBoxItemBaseStyle}"/>
<Setter Property="hc:BorderElement.CornerRadius" Value="{StaticResource DefaultCornerRadius}"/>
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="MinHeight" Value="{StaticResource DefaultControlHeight}"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="Padding" Value="{StaticResource DefaultInputPadding}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxTemplate}"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Style x:Key="CheckComboBoxBaseStyle" BasedOn="{StaticResource InputElementBaseStyle}" TargetType="hc:CheckComboBox">
<Setter Property="TagStyle" Value="{StaticResource Tag4CheckComboBoxStyle}" />
<Setter Property="TagSpacing" Value="4"/>
<Setter Property="SelectionMode" Value="Multiple" />
<Setter Property="ItemContainerStyle" Value="{StaticResource CheckComboBoxItemBaseStyle}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
<Setter Property="ScrollViewer.PanningMode" Value="Both" />
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
<Setter Property="Padding" Value="8,4" />
<Setter Property="Template" Value="{StaticResource CheckComboBoxTemplate}" />
</Style>
<ControlTemplate x:Key="CheckComboBoxExtendTopTemplate" TargetType="hc:CheckComboBox">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent}}"/>
<RowDefinition Height="Auto" />
<RowDefinition MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Double2GridLengthConverter}}" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.ColumnSpan="2" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" Orientation="Horizontal" Margin="{TemplateBinding Padding}">
<TextBlock Margin="1,0,0,0" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
<ContentPresenter TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
</StackPanel>
<Popup x:Name="PART_Popup" Grid.Row="1" Grid.Column="0" PlacementTarget="{Binding ElementName=toggleButton}" AllowsTransparency="true" Grid.ColumnSpan="2" StaysOpen="False" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="0,4" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}"/>
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty/>
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheTop),RelativeSource={RelativeSource TemplatedParent}}">
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" />
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}" />
</DockPanel>
<Grid x:Name="contentPanel" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border x:Name="border" Grid.ColumnSpan="2" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" />
<TextBlock Grid.Column="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}" Visibility="{Binding SelectedItem,RelativeSource={RelativeSource AncestorType=hc:CheckComboBox},Converter={StaticResource Object2VisibilityReConverter}}" HorizontalAlignment="Stretch" Style="{StaticResource TextBlockDefaultThiLight}" Text="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton ClickMode="Release" BorderThickness="0" Grid.Column="1" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" HorizontalContentAlignment="Left" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" hc:IconElement.Width="14" Style="{StaticResource ToggleButtonIconTransparent}" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" hc:IconSwitchElement.Geometry="{StaticResource DownGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" Foreground="{TemplateBinding BorderBrush}" Focusable="False" />
<Border Grid.Column="0" Margin="-4 0">
<hc:UniformSpacingPanel x:Name="PART_Panel" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Spacing="{TemplateBinding TagSpacing}" ChildWrapping="Wrap" ItemVerticalAlignment="Center" />
</Border>
</Popup>
<ToggleButton Grid.Row="1" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" Content="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" Grid.Column="0" x:Name="toggleButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxWatermarkToggleButton}"/>
<Border Grid.Row="1" Grid.Column="0" Margin="1,0">
<WrapPanel Name="PART_Panel" Margin="3,1,3,4"/>
</Border>
<Popup x:Name="PART_Popup" StaysOpen="False" PlacementTarget="{Binding ElementName=border}" AllowsTransparency="true" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Decorator Margin="8 0">
<Border Effect="{StaticResource EffectShadow2}" BorderThickness="0,1,0,0" Margin="0,0,0,8" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MinWidth="{Binding ActualWidth, ElementName=border}" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="2" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}" />
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</Decorator>
</Popup>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
<Setter Property="Height" TargetName="dropDownBorder" Value="95" />
</Trigger>
<Trigger Property="hc:DropDownElement.ConsistentWidth" Value="True">
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" SourceName="contentPanel" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<Trigger Property="IsOpen" Value="True" SourceName="PART_Popup">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.4" TargetName="toggleButton"/>
<Setter Property="Opacity" Value="0.4" TargetName="PART_Panel"/>
<Setter Property="Opacity" Value="0.4" TargetName="contentPanel" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="CheckComboBoxExtendLeftTemplate" TargetType="hc:CheckComboBox">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true" MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Double2GridLengthConverter}}">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true" MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding Path=(hc:InfoElement.TitleWidth),RelativeSource={RelativeSource TemplatedParent}}"/>
<ColumnDefinition/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="{Binding Path=(hc:InfoElement.TitleWidth),RelativeSource={RelativeSource TemplatedParent}}" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="0,7,6,7" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" Orientation="Horizontal">
<TextBlock Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
<ContentPresenter TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
</StackPanel>
<Popup Grid.Column="1" x:Name="PART_Popup" PlacementTarget="{Binding ElementName=toggleButton}" AllowsTransparency="true" Grid.ColumnSpan="2" StaysOpen="False" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="0,4" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}"/>
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty/>
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" />
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}" />
</DockPanel>
<Grid x:Name="contentPanel" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border x:Name="border" Grid.ColumnSpan="2" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" />
<TextBlock Grid.Column="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}" Visibility="{Binding SelectedItem,RelativeSource={RelativeSource AncestorType=hc:CheckComboBox},Converter={StaticResource Object2VisibilityReConverter}}" HorizontalAlignment="Stretch" Style="{StaticResource TextBlockDefaultThiLight}" Text="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton ClickMode="Release" BorderThickness="0" Grid.Column="1" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" HorizontalContentAlignment="Left" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" hc:IconElement.Width="14" Style="{StaticResource ToggleButtonIconTransparent}" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" hc:IconSwitchElement.Geometry="{StaticResource DownGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" Foreground="{TemplateBinding BorderBrush}" Focusable="False" />
<Border Grid.Column="0" Margin="-4 0">
<hc:UniformSpacingPanel x:Name="PART_Panel" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Spacing="{TemplateBinding TagSpacing}" ChildWrapping="Wrap" ItemVerticalAlignment="Center" />
</Border>
</Popup>
<ToggleButton Grid.Column="1" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" Content="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" x:Name="toggleButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxWatermarkToggleButton}"/>
<Border Grid.Column="1" Margin="1,0">
<WrapPanel Name="PART_Panel" Margin="3,1,3,4"/>
</Border>
<Popup x:Name="PART_Popup" StaysOpen="False" PlacementTarget="{Binding ElementName=border}" AllowsTransparency="true" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Decorator Margin="8 0">
<Border Effect="{StaticResource EffectShadow2}" BorderThickness="0,1,0,0" Margin="0,0,0,8" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MinWidth="{Binding ActualWidth, ElementName=border}" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="2" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}" />
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</Decorator>
</Popup>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
<Setter Property="Height" TargetName="dropDownBorder" Value="95" />
</Trigger>
<Trigger Property="hc:DropDownElement.ConsistentWidth" Value="True">
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" SourceName="contentPanel" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<Trigger Property="IsOpen" Value="True" SourceName="PART_Popup">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.4" TargetName="toggleButton"/>
<Setter Property="Opacity" Value="0.4" TargetName="PART_Panel"/>
<Setter Property="Opacity" Value="0.4" TargetName="contentPanel" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="CheckComboBoxExtendBaseStyle" BasedOn="{StaticResource CheckComboBoxBaseStyle}" TargetType="hc:CheckComboBox">
<Setter Property="Height" Value="Auto"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxExtendTopTemplate}"/>
<Setter Property="hc:InfoElement.Symbol" Value="●"/>
<Setter Property="hc:InfoElement.ContentHeight" Value="{x:Static system:Double.NaN}"/>
<Setter Property="hc:InfoElement.MinContentHeight" Value="{StaticResource DefaultControlHeight}"/>
<Setter Property="Height" Value="Auto" />
<Setter Property="Template" Value="{StaticResource CheckComboBoxExtendTopTemplate}" />
<Setter Property="hc:InfoElement.Symbol" Value="●" />
<Setter Property="hc:InfoElement.ContentHeight" Value="{x:Static system:Double.NaN}" />
<Setter Property="hc:InfoElement.MinContentHeight" Value="{StaticResource DefaultControlHeight}" />
<Style.Triggers>
<Trigger Property="hc:InfoElement.TitlePlacement" Value="Left">
<Setter Property="Template" Value="{StaticResource CheckComboBoxExtendLeftTemplate}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxExtendLeftTemplate}" />
</Trigger>
</Style.Triggers>
</Style>
<ControlTemplate x:Key="CheckComboBoxPlusTopTemplate" TargetType="hc:CheckComboBox">
<ControlTemplate.Resources>
<Storyboard x:Key="StoryboardShow">
<ThicknessAnimation Storyboard.TargetName="TextBlockError" Storyboard.TargetProperty="Margin" To="9,0,0,-18" Duration="0:0:.2"/>
</Storyboard>
<Storyboard x:Key="StoryboardHidden">
<ThicknessAnimation Storyboard.TargetName="TextBlockError" Storyboard.TargetProperty="Margin" To="9,0,0,4" Duration="0:0:0"/>
</Storyboard>
</ControlTemplate.Resources>
<Grid >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent}}"/>
<RowDefinition Height="Auto" />
<RowDefinition MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Double2GridLengthConverter}}" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto" MinWidth="30"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.ColumnSpan="2" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" Orientation="Horizontal" Margin="{TemplateBinding Padding}">
<TextBlock Margin="1,0,0,0" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
<ContentPresenter TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
</StackPanel>
<Popup Grid.Row="1" Grid.Column="0" x:Name="PART_Popup" PlacementTarget="{Binding ElementName=toggleButton}" AllowsTransparency="true" Grid.ColumnSpan="2" StaysOpen="False" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="0,4" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}"/>
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty/>
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<DockPanel Grid.ColumnSpan="2" LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheTop),RelativeSource={RelativeSource TemplatedParent}}">
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" />
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}" />
</DockPanel>
<Grid x:Name="contentPanel" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border x:Name="border" Grid.ColumnSpan="3" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" />
<TextBlock Grid.Column="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}" Visibility="{Binding SelectedItem,RelativeSource={RelativeSource AncestorType=hc:CheckComboBox},Converter={StaticResource Object2VisibilityReConverter}}" HorizontalAlignment="Stretch" Style="{StaticResource TextBlockDefaultThiLight}" Text="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton ClickMode="Release" BorderThickness="0" Grid.Column="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" HorizontalContentAlignment="Left" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" hc:IconElement.Width="14" Style="{StaticResource ToggleButtonIconTransparent}" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" hc:IconSwitchElement.Geometry="{StaticResource DownGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" Foreground="{TemplateBinding BorderBrush}" Focusable="False" />
<Border Grid.Column="0" Margin="-4 0">
<hc:UniformSpacingPanel x:Name="PART_Panel" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Spacing="{TemplateBinding TagSpacing}" ChildWrapping="Wrap" ItemVerticalAlignment="Center" />
</Border>
</Popup>
<TextBlock Grid.Column="0" Grid.ColumnSpan="2" FontSize="12" Text="{TemplateBinding ErrorStr}" Name="TextBlockError" VerticalAlignment="Bottom" Margin="9,0,0,4" Foreground="{DynamicResource DangerBrush}" Grid.Row="1"/>
<ToggleButton Grid.Row="1" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" Content="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" Grid.Column="0" x:Name="toggleButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxWatermarkToggleButton}"/>
<Border Grid.Row="1" Grid.Column="0" Margin="1,0">
<WrapPanel Name="PART_Panel" Margin="3,1,3,4"/>
</Border>
<Button Grid.Row="1" Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="1" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
<Button Height="Auto" Width="Auto" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" hc:IconElement.Width="14" Command="interactivity:ControlCommands.Clear" Visibility="Hidden" Name="ButtonClear" Grid.Column="1" Style="{StaticResource ButtonIcon}" Padding="0,0,4,0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{Binding BorderBrush,ElementName=border}" />
<Popup x:Name="PART_Popup" StaysOpen="False" PlacementTarget="{Binding ElementName=border}" AllowsTransparency="true" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Decorator Margin="8 0">
<Border Effect="{StaticResource EffectShadow2}" BorderThickness="0,1,0,0" Margin="0,0,0,8" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MinWidth="{Binding ActualWidth, ElementName=border}" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="2" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}" />
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</Decorator>
</Popup>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
<Setter Property="Height" TargetName="dropDownBorder" Value="95" />
</Trigger>
<Trigger Property="hc:DropDownElement.ConsistentWidth" Value="True">
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" SourceName="contentPanel" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="ShowClearButton" Value="True"/>
<Condition Property="IsMouseOver" Value="true" SourceName="contentPanel" />
<Condition Property="hc:InfoElement.ShowClearButton" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear"/>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear"/>
<Condition Property="ShowClearButton" Value="True"/>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear" />
<Condition Property="hc:InfoElement.ShowClearButton" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear"/>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear" />
</MultiTrigger>
<Trigger Property="IsOpen" Value="True" SourceName="PART_Popup">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
</Trigger>
<Trigger Property="IsError" Value="true">
<Setter Property="BorderBrush" Value="{DynamicResource DangerBrush}"/>
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource StoryboardShow}"/>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource StoryboardHidden}"/>
</Trigger.ExitActions>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.4" TargetName="toggleButton"/>
<Setter Property="Opacity" Value="0.4" TargetName="PART_Panel"/>
<Setter Property="Opacity" Value="0.4" TargetName="contentPanel" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="CheckComboBoxPlusLeftTemplate" TargetType="hc:CheckComboBox">
<ControlTemplate.Resources>
<Storyboard x:Key="StoryboardShow">
<ThicknessAnimation Storyboard.TargetName="TextBlockError" Storyboard.TargetProperty="Margin" To="9,0,0,-18" Duration="0:0:.2"/>
</Storyboard>
<Storyboard x:Key="StoryboardHidden">
<ThicknessAnimation Storyboard.TargetName="TextBlockError" Storyboard.TargetProperty="Margin" To="9,0,0,4" Duration="0:0:0"/>
</Storyboard>
</ControlTemplate.Resources>
<Grid x:Name="templateRoot" SnapsToDevicePixels="true" MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Double2GridLengthConverter}}">
<Grid x:Name="templateRoot" SnapsToDevicePixels="true" MinHeight="{Binding Path=(hc:InfoElement.MinContentHeight),RelativeSource={RelativeSource TemplatedParent}}" Height="{Binding Path=(hc:InfoElement.ContentHeight),RelativeSource={RelativeSource TemplatedParent}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding Path=(hc:InfoElement.TitleWidth),RelativeSource={RelativeSource TemplatedParent}}"/>
<ColumnDefinition/>
<ColumnDefinition Width="Auto" MinWidth="30"/>
<ColumnDefinition Width="{Binding Path=(hc:InfoElement.TitleWidth),RelativeSource={RelativeSource TemplatedParent}}" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="0,7,6,7" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" Orientation="Horizontal">
<TextBlock Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}"/>
<ContentPresenter TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}"/>
</StackPanel>
<Popup Grid.Column="1" x:Name="PART_Popup" PlacementTarget="{Binding ElementName=toggleButton}" AllowsTransparency="true" Grid.ColumnSpan="2" StaysOpen="False" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" BorderThickness="1" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="0,4" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}"/>
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty/>
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<DockPanel LastChildFill="True" Visibility="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource String2VisibilityConverter}}" HorizontalAlignment="{Binding Path=(hc:TitleElement.HorizontalAlignment),RelativeSource={RelativeSource TemplatedParent}}" VerticalAlignment="{Binding Path=(hc:TitleElement.VerticalAlignment),RelativeSource={RelativeSource TemplatedParent}}" Margin="{Binding Path=(hc:TitleElement.MarginOnTheLeft),RelativeSource={RelativeSource TemplatedParent}}">
<ContentPresenter DockPanel.Dock="Right" TextElement.Foreground="{DynamicResource DangerBrush}" Margin="4,0,0,0" Content="{Binding Path=(hc:InfoElement.Symbol),RelativeSource={RelativeSource TemplatedParent}}" Visibility="{Binding Path=(hc:InfoElement.Necessary),RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" />
<TextBlock hc:TextBlockAttach.AutoTooltip="True" TextWrapping="NoWrap" TextTrimming="CharacterEllipsis" Text="{Binding Path=(hc:InfoElement.Title),RelativeSource={RelativeSource TemplatedParent}}" />
</DockPanel>
<Grid x:Name="contentPanel" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Border x:Name="border" Grid.ColumnSpan="3" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" />
<TextBlock Grid.Column="0" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding Padding}" Visibility="{Binding SelectedItem,RelativeSource={RelativeSource AncestorType=hc:CheckComboBox},Converter={StaticResource Object2VisibilityReConverter}}" HorizontalAlignment="Stretch" Style="{StaticResource TextBlockDefaultThiLight}" Text="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" />
<ToggleButton ClickMode="Release" BorderThickness="0" Grid.Column="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Height="Auto" Width="Auto" HorizontalContentAlignment="Left" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" hc:IconElement.Width="14" Style="{StaticResource ToggleButtonIconTransparent}" Padding="{Binding Padding, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" hc:IconSwitchElement.Geometry="{StaticResource DownGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}" Foreground="{TemplateBinding BorderBrush}" Focusable="False" />
<Border Grid.Column="0" Margin="-4 0">
<hc:UniformSpacingPanel x:Name="PART_Panel" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Spacing="{TemplateBinding TagSpacing}" ChildWrapping="Wrap" ItemVerticalAlignment="Center" />
</Border>
</Popup>
<TextBlock Grid.Column="1" Grid.ColumnSpan="2" FontSize="12" Text="{TemplateBinding ErrorStr}" Name="TextBlockError" VerticalAlignment="Bottom" Margin="9,0,0,4" Foreground="{DynamicResource DangerBrush}"/>
<ToggleButton Grid.Column="1" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Padding="{TemplateBinding Padding}" Content="{Binding Path=(hc:InfoElement.Placeholder),RelativeSource={RelativeSource TemplatedParent}}" x:Name="toggleButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxWatermarkToggleButton}"/>
<Border Grid.Column="1" Margin="1,0">
<WrapPanel Name="PART_Panel" Margin="3,1,3,4"/>
</Border>
<Button Command="interactivity:ControlCommands.Clear" Margin="0,0,26,0" Visibility="Collapsed" Name="ButtonClear" Width="16" Grid.Column="2" Style="{StaticResource ButtonIcon}" Padding="0,6" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{TemplateBinding BorderBrush}"/>
<Button Height="Auto" Width="Auto" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" hc:IconElement.Width="14" Command="interactivity:ControlCommands.Clear" Visibility="Hidden" Name="ButtonClear" Grid.Column="1" Style="{StaticResource ButtonIcon}" Padding="0,0,4,0" hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}" Foreground="{Binding BorderBrush,ElementName=border}" />
<Popup x:Name="PART_Popup" StaysOpen="False" PlacementTarget="{Binding ElementName=border}" AllowsTransparency="true" IsOpen="{Binding IsDropDownOpen,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}" Margin="1" PopupAnimation="{StaticResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom">
<Decorator Margin="8 0">
<Border Effect="{StaticResource EffectShadow2}" BorderThickness="0,1,0,0" Margin="0,0,0,8" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" x:Name="dropDownBorder" MinWidth="{Binding ActualWidth, ElementName=border}" MaxHeight="{TemplateBinding MaxDropDownHeight}" BorderBrush="{DynamicResource BorderBrush}" Background="{DynamicResource RegionBrush}">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<Grid Margin="2" ClipToBounds="False">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<hc:CheckComboBoxItem x:Name="PART_SelectAll" Style="{TemplateBinding ItemContainerStyle}" IsEnabled="{TemplateBinding ShowSelectAllButton}" Visibility="{Binding ShowSelectAllButton,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource Boolean2VisibilityConverter}}" HorizontalContentAlignment="Stretch" Content="{ex:Lang Key={x:Static langs:LangKeys.All}}" />
<ScrollViewer x:Name="DropDownScrollViewer" Grid.Row="1">
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Grid>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</Decorator>
</Popup>
</Grid>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="HasItems" Value="false">
<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>
<Setter Property="Height" TargetName="dropDownBorder" Value="95" />
</Trigger>
<Trigger Property="hc:DropDownElement.ConsistentWidth" Value="True">
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=toggleButton}"/>
<Setter Property="MaxWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
<Setter Property="MinWidth" TargetName="dropDownBorder" Value="{Binding ActualWidth, ElementName=border}" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" SourceName="contentPanel" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear"/>
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup"/>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear" />
<Condition Property="IsOpen" Value="false" SourceName="PART_Popup" />
</MultiTrigger.Conditions>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource SecondaryBorderBrush}" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="toggleButton"/>
<Condition Property="ShowClearButton" Value="True"/>
<Condition Property="IsMouseOver" Value="true" SourceName="contentPanel" />
<Condition Property="hc:InfoElement.ShowClearButton" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear"/>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear" />
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear"/>
<Condition Property="ShowClearButton" Value="True"/>
<Condition Property="IsMouseOver" Value="true" SourceName="ButtonClear" />
<Condition Property="hc:InfoElement.ShowClearButton" Value="True" />
</MultiTrigger.Conditions>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear"/>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonClear" />
</MultiTrigger>
<Trigger Property="IsOpen" Value="True" SourceName="PART_Popup">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}"/>
</Trigger>
<Trigger Property="IsError" Value="true">
<Setter Property="BorderBrush" Value="{DynamicResource DangerBrush}"/>
<Trigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource StoryboardShow}"/>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard Storyboard="{StaticResource StoryboardHidden}"/>
</Trigger.ExitActions>
<Setter Property="BorderBrush" Value="{DynamicResource PrimaryBrush}" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Opacity" Value="0.4" TargetName="toggleButton"/>
<Setter Property="Opacity" Value="0.4" TargetName="PART_Panel"/>
<Setter Property="Opacity" Value="0.4" TargetName="contentPanel" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="CheckComboBoxPlusBaseStyle" BasedOn="{StaticResource CheckComboBoxExtendBaseStyle}" TargetType="hc:CheckComboBox">
<Setter Property="Template" Value="{StaticResource CheckComboBoxPlusTopTemplate}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxPlusTopTemplate}" />
<Style.Triggers>
<Trigger Property="hc:InfoElement.TitlePlacement" Value="Left">
<Setter Property="Template" Value="{StaticResource CheckComboBoxPlusLeftTemplate}"/>
<Setter Property="Template" Value="{StaticResource CheckComboBoxPlusLeftTemplate}" />
</Trigger>
</Style.Triggers>
</Style>
File diff suppressed because it is too large. Load diff
@@ -1,14 +1,6 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls"
xmlns:themes="clr-namespace:HandyControl.Themes">
<ResourceDictionary.MergedDictionaries>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Basic/Sizes.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Basic/Converters.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Base/BaseStyle.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Base/ScrollViewerBaseStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
xmlns:hc="clr-namespace:HandyControl.Controls">
<PathGeometry x:Key="TreeArrow" Figures="M508.893248 762.931659a65.039498 65.039498 0 0 1-46.420659-19.485839L97.125746 371.004022c-25.143018-25.634319-24.752868-66.816849 0.881451-91.959868 25.648769-25.164693 66.809624-24.745643 91.959867 0.881451l318.933409 325.125238 318.933408-325.125238a65.025048 65.025048 0 0 1 92.841318 91.078417L555.313907 743.44582a65.025048 65.025048 0 0 1-46.420659 19.485839z"/>
<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
@@ -44,13 +36,15 @@
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="10,0"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="MinHeight" Value="{StaticResource DefaultControlHeight}"/>
<Setter Property="Margin" Value="0,0,0,2" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
<RowDefinition MinHeight="{TemplateBinding MinHeight}"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Border x:Name="Bd" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<DockPanel LastChildFill="True" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
@@ -83,7 +77,7 @@
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="{StaticResource {x:Static SystemColors.GrayTextBrushKey}}"/>
<Setter Property="Opacity" Value=".4" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
@@ -96,7 +90,8 @@
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Padding" Value="2,2,2,0" />
<Setter Property="hc:BorderElement.CornerRadius" Value="{StaticResource DefaultCornerRadius}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
@@ -106,23 +101,18 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<hc:ScrollViewer x:Name="_tv_scrollviewer_" IsInertiaEnabled="{Binding Path=(hc:ScrollViewer.IsInertiaEnabled),RelativeSource={RelativeSource TemplatedParent}}" Template="{StaticResource ScrollViewerBaseControlTemplate}" Background="{TemplateBinding Background}" CanContentScroll="false" Focusable="false" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
<ItemsPresenter/>
<hc:ScrollViewer IsInertiaEnabled="{Binding Path=(hc:ScrollViewer.IsInertiaEnabled),RelativeSource={RelativeSource TemplatedParent}}" Focusable="false" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
<ItemsPresenter />
</hc:ScrollViewer>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty/>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Background" TargetName="Bd" Value="{StaticResource {x:Static SystemColors.ControlBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
@@ -1,250 +1,11 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:themes="clr-namespace:HandyControl.Themes">
xmlns:hc="clr-namespace:HandyControl.Controls">
<ResourceDictionary.MergedDictionaries>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Base/ScrollViewerBaseStyle.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Button.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/ToggleButton.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/TextBox.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/ComboBox.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/CheckBox.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style x:Key="RowHeaderGripperStyle" TargetType="Thumb">
<Setter Property="Height" Value="8"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Cursor" Value="SizeNS"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Thumb">
<Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DataGridCellStyle" TargetType="DataGridCell">
<Setter Property="FocusVisualStyle">
<Setter.Value>
<Style>
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle Margin="2" Opacity=".6" SnapsToDevicePixels="true" Stroke="{DynamicResource SecondaryBorderBrush}" StrokeThickness="2" StrokeDashArray="1 1" RadiusX="4" RadiusY="4"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="Padding" Value="{StaticResource DefaultControlPadding}"/>
<Setter Property="Margin" Value="0,0,4,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<Border CornerRadius="4" Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsSelected,RelativeSource={RelativeSource Self}}" Value="true"/>
<Condition Binding="{Binding SelectionUnit,RelativeSource={RelativeSource FindAncestor,AncestorType=DataGrid}}" Value="Cell"/>
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource TextIconBrush}"/>
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsSelected,RelativeSource={RelativeSource Self}}" Value="true"/>
<Condition Binding="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="False"/>
<Condition Binding="{Binding SelectionUnit,RelativeSource={RelativeSource FindAncestor,AncestorType=DataGrid}}" Value="CellOrRowHeader"/>
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource TextIconBrush}"/>
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsSelected,RelativeSource={RelativeSource Self}}" Value="true"/>
<Condition Binding="{Binding IsSelected,RelativeSource={RelativeSource AncestorType=DataGridRow}}" Value="True"/>
<Condition Binding="{Binding SelectionUnit,RelativeSource={RelativeSource FindAncestor,AncestorType=DataGrid}}" Value="CellOrRowHeader"/>
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource TextIconBrush}"/>
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding IsSelected,RelativeSource={RelativeSource Self}}" Value="true"/>
<Condition Binding="{Binding SelectionUnit,RelativeSource={RelativeSource FindAncestor,AncestorType=DataGrid}}" Value="FullRow"/>
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="{DynamicResource TextIconBrush}"/>
</MultiDataTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="Selector.IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
</MultiTrigger>
</Style.Triggers>
</Style>
<Style x:Key="DataGridRowStyle" TargetType="DataGridRow">
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="Margin" Value="0,0,0,4"/>
<Setter Property="Padding" Value="0,6"/>
<Setter Property="MinHeight" Value="44"/>
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
<Setter Property="ValidationErrorTemplate">
<Setter.Value>
<ControlTemplate>
<TextBlock Foreground="Red" Margin="2,0,0,0" Text="!" VerticalAlignment="Center"/>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridRow">
<SelectiveScrollingGrid>
<SelectiveScrollingGrid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</SelectiveScrollingGrid.ColumnDefinitions>
<SelectiveScrollingGrid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</SelectiveScrollingGrid.RowDefinitions>
<Border CornerRadius="4" Grid.ColumnSpan="2" x:Name="DGR_Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"/>
<DataGridCellsPresenter MinHeight="{TemplateBinding MinHeight}" VerticalContentAlignment="Center" Grid.Row="0" Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
<DataGridDetailsPresenter Margin="0,6" Grid.Column="1" Grid.Row="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType=DataGrid}}" Visibility="{TemplateBinding DetailsVisibility}"/>
<DataGridRowHeader Grid.Row="0" Grid.Column="0" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
</SelectiveScrollingGrid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="TextElement.Foreground" Value="{DynamicResource TextIconBrush}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="Selector.IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
</MultiTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ColumnHeaderGripperStyle" TargetType="Thumb">
<Setter Property="Width" Value="8"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Cursor" Value="SizeWE"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Thumb">
<Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DataGridColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="Padding" Value="12,6,12,12"/>
<Setter Property="MinHeight" Value="44"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridColumnHeader">
<hc:SimplePanel>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" Padding="{TemplateBinding Padding}">
<Grid HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ContentPresenter RecognizesAccessKey="True" VerticalAlignment="Center" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
<ToggleButton Grid.Column="1" VerticalAlignment="Center" Height="{x:Static system:Double.NaN}" Padding="4,0" Width="20" IsEnabled="False" Opacity="1" Foreground="{DynamicResource PrimaryBrush}" x:Name="ToggleButtonSortDirection" Style="{StaticResource ToggleButtonIconTransparent}" hc:IconSwitchElement.Geometry="{StaticResource DownGeometry}" hc:IconSwitchElement.GeometrySelected="{StaticResource UpGeometry}"/>
</Grid>
</Border>
<Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/>
<Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/>
</hc:SimplePanel>
<ControlTemplate.Triggers>
<Trigger Property="SortDirection" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" TargetName="ToggleButtonSortDirection"/>
</Trigger>
<Trigger Property="SortDirection" Value="Ascending">
<Setter Property="IsChecked" Value="True" TargetName="ToggleButtonSortDirection"/>
</Trigger>
<Trigger Property="SortDirection" Value="Descending">
<Setter Property="IsChecked" Value="False" TargetName="ToggleButtonSortDirection"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="SortDirection" Value="Ascending">
<Setter Property="Foreground" Value="{DynamicResource PrimaryBrush}"/>
</Trigger>
<Trigger Property="SortDirection" Value="Descending">
<Setter Property="Foreground" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryBrush}"/>
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="DataGridRowHeaderStyle" TargetType="DataGridRowHeader">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridRowHeader">
<Grid HorizontalAlignment="Center">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="Transparent" Padding="{TemplateBinding Padding}" >
<StackPanel Orientation="Horizontal">
<ContentPresenter RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center"/>
</StackPanel>
</Border>
<Thumb x:Name="PART_TopHeaderGripper" Style="{StaticResource RowHeaderGripperStyle}" VerticalAlignment="Top"/>
<Thumb x:Name="PART_BottomHeaderGripper" Style="{StaticResource RowHeaderGripperStyle}" VerticalAlignment="Bottom"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="TextBlockComboBoxStyle" TargetType="ComboBox">
<Setter Property="Focusable" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBox">
<TextBlock IsHitTestVisible="False" Text="{TemplateBinding Text}" TextTrimming="CharacterEllipsis"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="DataGridTextColumnStyle" TargetType="TextBlock">
<Setter Property="TextTrimming" Value="CharacterEllipsis"/>
</Style>
<Style TargetType="DataGrid">
<Style x:Key="DataGridBaseStyle" TargetType="DataGrid">
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="GridLinesVisibility" Value="None"/>
<Setter Property="RowDetailsVisibilityMode" Value="VisibleWhenSelected"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
@@ -260,19 +21,21 @@
<Setter Property="RowStyle" Value="{StaticResource DataGridRowStyle}"/>
<Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle}"/>
<Setter Property="Padding" Value="6"/>
<Setter Property="ColumnWidth" Value="*"/>
<Setter Property="RowHeight" Value="44"/>
<Setter Property="ColumnHeaderHeight" Value="44"/>
<Setter Property="hc:DataGridAttach.TextColumnStyle" Value="{StaticResource DataGridTextColumnStyle}"/>
<Setter Property="hc:DataGridAttach.EditingTextColumnStyle" Value="{StaticResource TextBoxBaseStyle}"/>
<Setter Property="hc:DataGridAttach.ComboBoxColumnStyle" Value="{StaticResource TextBlockComboBoxStyle}"/>
<Setter Property="hc:DataGridAttach.EditingComboBoxColumnStyle" Value="{StaticResource ComboBoxBaseStyle}"/>
<Setter Property="hc:DataGridAttach.EditingTextColumnStyle" Value="{StaticResource DataGridEditingTextColumnStyle}"/>
<Setter Property="hc:DataGridAttach.ComboBoxColumnStyle" Value="{StaticResource DataGridComboBoxColumnStyle}"/>
<Setter Property="hc:DataGridAttach.EditingComboBoxColumnStyle" Value="{StaticResource DataGridEditingComboBoxColumnStyle}"/>
<Setter Property="hc:DataGridAttach.CheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
<Setter Property="hc:DataGridAttach.EditingCheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
<Setter Property="hc:DataGridAttach.ApplyDefaultStyle" Value="True"/>
<Setter Property="hc:BorderElement.CornerRadius" Value="{StaticResource DefaultCornerRadius}" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGrid">
<ControlTemplate.Resources>
<Storyboard x:Key="Storyboard1">
<Storyboard x:Key="StoryboardMouseEnter">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_VerticalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value=".8"/>
</DoubleAnimationUsingKeyFrames>
@@ -280,7 +43,7 @@
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value=".8"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Storyboard2">
<Storyboard x:Key="StoryboardMouseLeave">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_VerticalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value="0"/>
</DoubleAnimationUsingKeyFrames>
@@ -289,49 +52,78 @@
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</ControlTemplate.Resources>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
<ScrollViewer.Template>
<ControlTemplate TargetType="ScrollViewer">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Command="{x:Static DataGrid.SelectAllCommand}" Margin="0,0,0,6" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType=DataGrid}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType=DataGrid},Converter={StaticResource DoubleMinConverter}}" Style="{StaticResource ButtonIcon}" hc:IconElement.Geometry="{StaticResource AllGeometry}" Foreground="{DynamicResource PrimaryBrush}"/>
<DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.ColumnSpan="2" Grid.Row="0" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="1"/>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" VerticalAlignment="Bottom" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard Storyboard="{StaticResource Storyboard2}"/>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ScrollViewer.Template>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<Border CornerRadius="{Binding Path=(hc:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ScrollViewer x:Name="DG_ScrollViewer" Focusable="false">
<ScrollViewer.Template>
<ControlTemplate TargetType="ScrollViewer">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Command="{x:Static DataGrid.SelectAllCommand}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType=DataGrid},Converter={StaticResource DoubleMinConverter}}" Style="{StaticResource ButtonIcon}" hc:IconElement.Geometry="{StaticResource AllGeometry}" Foreground="{DynamicResource PrimaryBrush}">
<Button.Visibility>
<MultiBinding Converter="{StaticResource DataGridSelectAllButtonVisibilityConverter}">
<Binding Path="HeadersVisibility" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
<Binding Path="(hc:DataGridAttach.ShowSelectAllButton)" RelativeSource="{RelativeSource AncestorType=DataGrid}"/>
</MultiBinding>
</Button.Visibility>
</Button>
<DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.ColumnSpan="2" Grid.Row="0" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch"/>
<hc:ToggleBlock VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch" Grid.ColumnSpan="3" Grid.Column="0" Grid.Row="1" IsChecked="{Binding HasItems, RelativeSource={RelativeSource AncestorType=DataGrid}, Mode=OneWay}">
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty Background="{DynamicResource RegionBrush}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"/>
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" VerticalAlignment="Bottom" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard Storyboard="{StaticResource StoryboardMouseEnter}"/>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard Storyboard="{StaticResource StoryboardMouseLeave}"/>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ScrollViewer.Template>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style BasedOn="{StaticResource DataGridBaseStyle}" TargetType="DataGrid"/>
<Style x:Key="DataGridCellStyle.Small" BasedOn="{StaticResource DataGridCellStyle}" TargetType="DataGridCell">
<Setter Property="Padding" Value="6,2"/>
</Style>
<Style x:Key="DataGridRowStyle.Small" BasedOn="{StaticResource DataGridRowStyle}" TargetType="DataGridRow">
<Setter Property="Margin" Value="0,0,0,2"/>
</Style>
<Style x:Key="DataGridColumnHeaderStyle.Small" BasedOn="{StaticResource DataGridColumnHeaderStyle}" TargetType="DataGridColumnHeader">
<Setter Property="Padding" Value="8,0"/>
</Style>
<Style x:Key="DataGrid.Small" BasedOn="{StaticResource DataGridBaseStyle}" TargetType="DataGrid">
<Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle.Small}"/>
<Setter Property="RowStyle" Value="{StaticResource DataGridRowStyle.Small}"/>
<Setter Property="ColumnHeaderStyle" Value="{StaticResource DataGridColumnHeaderStyle.Small}"/>
<Setter Property="RowHeight" Value="24"/>
<Setter Property="ColumnHeaderHeight" Value="20"/>
<Setter Property="hc:DataGridAttach.EditingTextColumnStyle" Value="{StaticResource DataGridEditingTextColumnStyle.Small}"/>
<Setter Property="hc:DataGridAttach.EditingComboBoxColumnStyle" Value="{StaticResource DataGridEditingComboBoxColumnStyle.Small}"/>
</Style>
</ResourceDictionary>
@@ -1,169 +1,116 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls"
xmlns:themes="clr-namespace:HandyControl.Themes">
xmlns:hc="clr-namespace:HandyControl.Controls">
<ResourceDictionary.MergedDictionaries>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Basic/Sizes.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Base/ScrollViewerBaseStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style x:Key="GridViewColumnHeaderGripper" TargetType="Thumb">
<Setter Property="Canvas.Right" Value="-9"/>
<Setter Property="Width" Value="18"/>
<Setter Property="Height" Value="{Binding ActualHeight, RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Background" Value="Transparent"/>
<Style x:Key="ListViewBaseStyle" TargetType="ListView">
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="Padding" Value="6" />
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
<Setter Property="ScrollViewer.PanningMode" Value="Both" />
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="ItemContainerStyle" Value="{StaticResource ListViewItemBaseStyle}" />
<Setter Property="hc:GridViewAttach.ColumnHeaderHeight" Value="44" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Thumb">
<Border Background="Transparent" Padding="{TemplateBinding Padding}">
<Rectangle Fill="{TemplateBinding Background}" HorizontalAlignment="Center" Width="1"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="GridViewColumnHeader">
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="HorizontalContentAlignment" Value="Left"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="Padding" Value="12,6,12,12"/>
<Setter Property="MinHeight" Value="44"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GridViewColumnHeader">
<Grid SnapsToDevicePixels="true">
<Border x:Name="HeaderBorder" BorderBrush="{TemplateBinding BorderBrush}" Background="Transparent">
<ContentPresenter x:Name="HeaderContent" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<Canvas>
<Thumb x:Name="PART_HeaderGripper" Style="{StaticResource GridViewColumnHeaderGripper}"/>
</Canvas>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ListViewItemBaseStyle" TargetType="ListViewItem">
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="Margin" Value="0,0,0,4"/>
<Setter Property="Padding" Value="{StaticResource DefaultControlPadding}"/>
<Setter Property="MinHeight" Value="44"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border CornerRadius="4" x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<GridViewRowPresenter Content="{TemplateBinding Content}" Columns="{TemplateBinding GridView.ColumnCollection}"/>
<ControlTemplate TargetType="ListView">
<ControlTemplate.Resources>
<Storyboard x:Key="Storyboard1">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_VerticalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value=".8" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_HorizontalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value=".8" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Storyboard2">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_VerticalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value="0" />
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_HorizontalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value="0" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</ControlTemplate.Resources>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ScrollViewer Focusable="false">
<ScrollViewer.Template>
<ControlTemplate TargetType="ScrollViewer">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DockPanel Grid.ColumnSpan="2">
<ScrollViewer DockPanel.Dock="Top" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" Focusable="false">
<GridViewHeaderRowPresenter AllowsColumnReorder="{Binding View.AllowsColumnReorder, RelativeSource={RelativeSource AncestorType=ListView}}" ColumnHeaderContainerStyle="{Binding View.ColumnHeaderContainerStyle, RelativeSource={RelativeSource AncestorType=ListView}}" ColumnHeaderToolTip="{Binding View.ColumnHeaderToolTip, RelativeSource={RelativeSource AncestorType=ListView}}" ColumnHeaderContextMenu="{Binding View.ColumnHeaderContextMenu, RelativeSource={RelativeSource AncestorType=ListView}}" ColumnHeaderTemplate="{Binding View.ColumnHeaderTemplate, RelativeSource={RelativeSource AncestorType=ListView}}" ColumnHeaderTemplateSelector="{Binding View.ColumnHeaderTemplateSelector, RelativeSource={RelativeSource AncestorType=ListView}}" Columns="{Binding View.Columns, RelativeSource={RelativeSource AncestorType=ListView}}" Margin="2,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</DockPanel>
<hc:ToggleBlock Grid.Row="1" Grid.ColumnSpan="2" Grid.RowSpan="2" IsChecked="{Binding HasItems,RelativeSource={RelativeSource AncestorType=ListView},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" />
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_VerticalScrollBar" Grid.Column="1" Grid.Row="1" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" />
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_HorizontalScrollBar" Grid.Row="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" VerticalAlignment="Bottom" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}" />
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard Storyboard="{StaticResource Storyboard1}" />
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard Storyboard="{StaticResource Storyboard2}" />
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</ScrollViewer.Template>
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
<Trigger Property="View" Value="{x:Null}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListView">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ScrollViewer Focusable="false">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource PrimaryBrush}"/>
<Setter Property="TextElement.Foreground" Value="{DynamicResource TextIconBrush}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="Selector.IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter Property="Background" Value="{DynamicResource DarkDefaultBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
</MultiTrigger>
</Style.Triggers>
</Style>
<Style x:Key="ListViewScrollViewerStyle" TargetType="ScrollViewer">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ScrollViewer">
<ControlTemplate.Resources>
<Storyboard x:Key="Storyboard1">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_VerticalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value=".8"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_HorizontalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value=".8"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Storyboard2">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_VerticalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value="0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_HorizontalScrollBar">
<EasingDoubleKeyFrame KeyTime="0:0:.2" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</ControlTemplate.Resources>
<Grid Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<GridViewHeaderRowPresenter Grid.ColumnSpan="2" AllowsColumnReorder="{Binding TemplatedParent.View.AllowsColumnReorder, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderContainerStyle="{Binding TemplatedParent.View.ColumnHeaderContainerStyle, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderToolTip="{Binding TemplatedParent.View.ColumnHeaderToolTip, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderContextMenu="{Binding TemplatedParent.View.ColumnHeaderContextMenu, RelativeSource={RelativeSource TemplatedParent}}" ColumnHeaderTemplate="{Binding TemplatedParent.View.ColumnHeaderTemplate, RelativeSource={RelativeSource TemplatedParent}}" Columns="{Binding TemplatedParent.View.Columns, RelativeSource={RelativeSource TemplatedParent}}" Margin="2,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" Grid.ColumnSpan="2" Grid.Row="1" CanContentScroll="{TemplateBinding CanContentScroll}" CanHorizontallyScroll="False" CanVerticallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" KeyboardNavigation.DirectionalNavigation="Local" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_VerticalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" x:Name="PART_HorizontalScrollBar" Grid.Column="0" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" VerticalAlignment="Bottom" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard Storyboard="{StaticResource Storyboard2}"/>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style BasedOn="{StaticResource ListViewBaseStyle}" TargetType="ListView" />
<Style x:Key="ListViewItemBaseStyle.Small" BasedOn="{StaticResource ListViewItemBaseStyle}" TargetType="ListViewItem">
<Setter Property="Padding" Value="6,2" />
<Setter Property="MinHeight" Value="24" />
<Setter Property="Margin" Value="0,0,0,2" />
</Style>
<Style TargetType="ListView">
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="BorderBrush" Value="{DynamicResource BorderBrush}"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Padding" Value="6"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="ItemContainerStyle" Value="{StaticResource ListViewItemBaseStyle}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListView">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<hc:ToggleBlock IsChecked="{Binding HasItems,RelativeSource={RelativeSource TemplatedParent},Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
<hc:ToggleBlock.CheckedContent>
<ScrollViewer Style="{StaticResource ListViewScrollViewerStyle}">
<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</ScrollViewer>
</hc:ToggleBlock.CheckedContent>
<hc:ToggleBlock.UnCheckedContent>
<hc:Empty />
</hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style x:Key="ListView.Small" BasedOn="{StaticResource ListViewBaseStyle}" TargetType="ListView">
<Setter Property="ItemContainerStyle" Value="{StaticResource ListViewItemBaseStyle.Small}" />
<Setter Property="hc:GridViewAttach.ColumnHeaderHeight" Value="30" />
</Style>
</ResourceDictionary>
@@ -2,12 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls"
xmlns:shell="clr-namespace:Microsoft.Windows.Shell"
xmlns:interactivity="clr-namespace:HandyControl.Interactivity"
xmlns:themes="clr-namespace:HandyControl.Themes">
<ResourceDictionary.MergedDictionaries>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Window.xaml"/>
</ResourceDictionary.MergedDictionaries>
xmlns:interactivity="clr-namespace:HandyControl.Interactivity">
<Style x:Key="MessageBoxButtonStyle" BasedOn="{StaticResource ButtonDefault}" TargetType="Button">
<Setter Property="MinWidth" Value="88"/>
@@ -73,23 +68,25 @@
<ContentPresenter shell:WindowChrome.IsHitTestVisibleInChrome="True" Grid.Column="2" x:Name="ContentPresenterMain" Content="{TemplateBinding NonClientAreaContent}"/>
</Grid>
</Grid>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Path Data="{TemplateBinding Image}" Fill="{TemplateBinding ImageBrush}" HorizontalAlignment="Center" Visibility="{TemplateBinding ShowImage,Converter={StaticResource Boolean2VisibilityConverter}}" Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" Margin="20,32,0,0" Width="30" Height="30" Stretch="Uniform"/>
<ScrollViewer Grid.Row="0" Grid.Column="1" VerticalAlignment="Top">
<Border MinHeight="30" Margin="10,32,10,10" HorizontalAlignment="Left">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Message}" TextWrapping="Wrap" />
</Border>
</ScrollViewer>
<StackPanel Name="PART_Panel" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,10,0,16" Orientation="Horizontal" HorizontalAlignment="Center"/>
</Grid>
<AdornerDecorator Grid.Row="1">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Path Data="{TemplateBinding Image}" Fill="{TemplateBinding ImageBrush}" HorizontalAlignment="Center" Visibility="{TemplateBinding ShowImage,Converter={StaticResource Boolean2VisibilityConverter}}" Grid.Row="0" Grid.Column="0" VerticalAlignment="Top" Margin="20,32,0,0" Width="30" Height="30" Stretch="Uniform"/>
<ScrollViewer Grid.Row="0" Grid.Column="1" VerticalAlignment="Top">
<Border MinHeight="30" Margin="10,32,10,10" HorizontalAlignment="Left">
<TextBlock VerticalAlignment="Center" Text="{TemplateBinding Message}" TextWrapping="Wrap" />
</Border>
</ScrollViewer>
<StackPanel Name="PART_Panel" Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,10,0,16" Orientation="Horizontal" HorizontalAlignment="Center"/>
</Grid>
</AdornerDecorator>
</Grid>
</Border>
<ControlTemplate.Triggers>
@@ -2,14 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:hc="clr-namespace:HandyControl.Controls"
xmlns:shell="clr-namespace:Microsoft.Windows.Shell"
xmlns:interactivity="clr-namespace:HandyControl.Interactivity"
xmlns:themes="clr-namespace:HandyControl.Themes">
<ResourceDictionary.MergedDictionaries>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Styles/Button.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Basic/Converters.xaml"/>
<themes:SharedResourceDictionary Source="pack://application:,,,/HandyControl;component/Themes/Basic/Geometries.xaml"/>
</ResourceDictionary.MergedDictionaries>
xmlns:interactivity="clr-namespace:HandyControl.Interactivity">
<LinearGradientBrush x:Key="ResizeGripperForeground" EndPoint="1,0.75" StartPoint="0,0.25">
<GradientStop Color="#FFFFFF" Offset="0.3"/>
@@ -26,7 +19,7 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ResizeGrip">
<Grid Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
<hc:SimplePanel Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
<Path Width="11" Height="11" Data="M 9,0 L 11,0 L 11,11 L 0,11 L 0,9 L 3,9 L 3,6 L 6,6 L 6,3 L 9,3 z" HorizontalAlignment="Right" VerticalAlignment="Bottom">
<Path.Fill>
<DrawingBrush TileMode="Tile" Viewbox="0,0,3,3" Viewport="0,0,3,3" ViewportUnits="Absolute" ViewboxUnits="Absolute">
@@ -42,7 +35,7 @@
</DrawingBrush>
</Path.Fill>
</Path>
</Grid>
</hc:SimplePanel>
</ControlTemplate>
</Setter.Value>
</Setter>
@@ -54,8 +47,207 @@
<Setter Property="UseLayoutRounding" Value="True"/>
</Style>
<Style x:Key="WindowWin10" BasedOn="{x:Null}" TargetType="hc:Window">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<ControlTemplate x:Key="WindowWin10Template" TargetType="hc:Window">
<Border SnapsToDevicePixels="True" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
<Grid Margin="{TemplateBinding Padding}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid Background="{TemplateBinding NonClientAreaBackground}" Name="PART_NonClientArea" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Name="ButtonPanel" shell:WindowChrome.IsHitTestVisibleInChrome="True" UseLayoutRounding="True" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MinimizeWindowCommand" IsTabStop="False" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" hc:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MaximizeWindowCommand" IsTabStop="False" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.RestoreWindowCommand" IsTabStop="False" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="shell:SystemCommands.CloseWindowCommand" IsTabStop="False" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
</StackPanel>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Name="ButtonIcon" Visibility="{TemplateBinding Icon,Converter={StaticResource Object2VisibilityConverter}}" Command="{x:Static shell:SystemCommands.ShowSystemMenuCommand}" Background="Transparent" Margin="10,0,0,0" shell:WindowChrome.IsHitTestVisibleInChrome="True" Style="{StaticResource ButtonCustom}" VerticalAlignment="Center">
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="MouseDoubleClick">
<interactivity:InvokeCommandAction Command="{x:Static shell:SystemCommands.CloseWindowCommand}" />
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
<Image IsHitTestVisible="False" Source="{TemplateBinding Icon}" VerticalAlignment="Center" Width="16" Height="16" />
</Button>
<TextBlock Grid.Column="1" Text="{TemplateBinding Title}" Padding="10,0,0,0" VerticalAlignment="Center">
<TextBlock.Visibility>
<MultiBinding Converter="{StaticResource BooleanArr2VisibilityConverter}">
<MultiBinding.Bindings>
<Binding Path="ShowTitle" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Title" RelativeSource="{RelativeSource TemplatedParent}" Converter="{StaticResource Object2BooleanConverter}" />
</MultiBinding.Bindings>
</MultiBinding>
</TextBlock.Visibility>
</TextBlock>
<ContentPresenter shell:WindowChrome.IsHitTestVisibleInChrome="True" Grid.Column="2" x:Name="ContentPresenterMain" Content="{TemplateBinding NonClientAreaContent}" />
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter ClipToBounds="True" />
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsActive" Value="False">
<Setter Property="Opacity" Value=".8" TargetName="ContentPresenterMain" />
<Setter Property="Opacity" Value=".8" TargetName="ButtonPanel" />
</Trigger>
<Trigger Property="WindowState" Value="Maximized">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Visible" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="WindowState" Value="Normal">
<Setter Property="Visibility" Value="Visible" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="ResizeMode" Value="NoResize">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMin" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="ResizeMode" Value="CanMinimize">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonClose">
<Setter Property="Background" TargetName="ButtonClose" Value="{Binding CloseButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonClose" Value="{Binding CloseButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonMax">
<Setter Property="Background" TargetName="ButtonMax" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonMax" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonRestore">
<Setter Property="Background" TargetName="ButtonRestore" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonRestore" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonMin">
<Setter Property="Background" TargetName="ButtonMin" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonMin" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="WindowStyle" Value="None">
<Setter Property="ShowNonClientArea" Value="False" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ResizeMode" Value="CanResizeWithGrip" />
<Condition Property="WindowState" Value="Normal" />
</MultiTrigger.Conditions>
<Setter TargetName="ResizeGrip" Property="Visibility" Value="Visible" />
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<ControlTemplate x:Key="WindowWin10ExtendContentToNonClientTemplate" TargetType="hc:Window">
<Border SnapsToDevicePixels="True" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
<hc:SimplePanel Margin="{TemplateBinding Padding}">
<AdornerDecorator>
<hc:SimplePanel>
<ContentPresenter ClipToBounds="True" />
<Grid Background="{TemplateBinding NonClientAreaBackground}" Name="PART_NonClientArea" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Name="ButtonPanel" shell:WindowChrome.IsHitTestVisibleInChrome="True" UseLayoutRounding="True" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MinimizeWindowCommand" IsTabStop="False" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" hc:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MaximizeWindowCommand" IsTabStop="False" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.RestoreWindowCommand" IsTabStop="False" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="shell:SystemCommands.CloseWindowCommand" IsTabStop="False" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" hc:IconElement.Width="10" hc:IconElement.Height="10" />
</StackPanel>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Name="ButtonIcon" Visibility="{TemplateBinding Icon,Converter={StaticResource Object2VisibilityConverter}}" Command="{x:Static shell:SystemCommands.ShowSystemMenuCommand}" Background="Transparent" Margin="10,0,0,0" shell:WindowChrome.IsHitTestVisibleInChrome="True" Style="{StaticResource ButtonCustom}" VerticalAlignment="Center">
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="MouseDoubleClick">
<interactivity:InvokeCommandAction Command="{x:Static shell:SystemCommands.CloseWindowCommand}" />
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
<Image IsHitTestVisible="False" Source="{TemplateBinding Icon}" VerticalAlignment="Center" Width="16" Height="16" />
</Button>
<TextBlock Grid.Column="1" Text="{TemplateBinding Title}" Padding="10,0,0,0" VerticalAlignment="Center">
<TextBlock.Visibility>
<MultiBinding Converter="{StaticResource BooleanArr2VisibilityConverter}">
<MultiBinding.Bindings>
<Binding Path="ShowTitle" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Title" RelativeSource="{RelativeSource TemplatedParent}" Converter="{StaticResource Object2BooleanConverter}" />
</MultiBinding.Bindings>
</MultiBinding>
</TextBlock.Visibility>
</TextBlock>
</Grid>
</Grid>
</hc:SimplePanel>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed" />
</hc:SimplePanel>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsActive" Value="False">
<Setter Property="Opacity" Value=".8" TargetName="ButtonPanel" />
</Trigger>
<Trigger Property="WindowState" Value="Maximized">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Visible" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="WindowState" Value="Normal">
<Setter Property="Visibility" Value="Visible" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="ResizeMode" Value="NoResize">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMin" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="ResizeMode" Value="CanMinimize">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax" />
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonClose">
<Setter Property="Background" TargetName="ButtonClose" Value="{Binding CloseButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonClose" Value="{Binding CloseButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonMax">
<Setter Property="Background" TargetName="ButtonMax" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonMax" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonRestore">
<Setter Property="Background" TargetName="ButtonRestore" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonRestore" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonMin">
<Setter Property="Background" TargetName="ButtonMin" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}" />
<Setter Property="Foreground" TargetName="ButtonMin" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}" />
</Trigger>
<Trigger Property="WindowStyle" Value="None">
<Setter Property="ShowNonClientArea" Value="False" />
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ResizeMode" Value="CanResizeWithGrip" />
<Condition Property="WindowState" Value="Normal" />
</MultiTrigger.Conditions>
<Setter TargetName="ResizeGrip" Property="Visibility" Value="Visible" />
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="WindowWin10" TargetType="hc:Window">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#262e2f"/>
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
@@ -71,108 +263,12 @@
<Setter Property="OtherButtonForeground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="OtherButtonHoverBackground" Value="{DynamicResource DarkMaskBrush}"/>
<Setter Property="OtherButtonHoverForeground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="hc:Window">
<Border SnapsToDevicePixels="True" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}">
<Grid Margin="{TemplateBinding Padding}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Background="{TemplateBinding NonClientAreaBackground}" Name="PART_NonClientArea" TextElement.Foreground="{TemplateBinding NonClientAreaForeground}">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<StackPanel Name="ButtonPanel" shell:WindowChrome.IsHitTestVisibleInChrome="True" UseLayoutRounding="True" VerticalAlignment="Top" Grid.Column="1" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MinimizeWindowCommand" IsTabStop="False" Name="ButtonMin" Height="29" Style="{StaticResource ButtonIcon}" Width="45" hc:IconElement.Geometry="{StaticResource WindowMinGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.MaximizeWindowCommand" IsTabStop="False" Name="ButtonMax" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource WindowMaxGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10"/>
<Button Background="{TemplateBinding OtherButtonBackground}" Foreground="{TemplateBinding OtherButtonForeground}" Command="shell:SystemCommands.RestoreWindowCommand" IsTabStop="False" Name="ButtonRestore" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource WindowRestoreGeometry}" BorderThickness="1,0,1,0" hc:IconElement.Width="10" hc:IconElement.Height="10"/>
<Button Background="{TemplateBinding CloseButtonBackground}" Foreground="{TemplateBinding CloseButtonForeground}" Command="shell:SystemCommands.CloseWindowCommand" IsTabStop="False" Name="ButtonClose" Height="29" Style="{StaticResource ButtonIcon}" Width="46" hc:IconElement.Geometry="{StaticResource CloseGeometry}" BorderThickness="1,0,0,0" hc:IconElement.Width="10" hc:IconElement.Height="10"/>
</StackPanel>
<Grid Grid.Column="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Name="ButtonIcon" Visibility="{TemplateBinding Icon,Converter={StaticResource Object2VisibilityConverter}}" Command="{x:Static shell:SystemCommands.ShowSystemMenuCommand}" Background="Transparent" Margin="10,0,0,0" shell:WindowChrome.IsHitTestVisibleInChrome="True" Style="{StaticResource ButtonCustom}" VerticalAlignment="Center">
<interactivity:Interaction.Triggers>
<interactivity:EventTrigger EventName="MouseDoubleClick">
<interactivity:InvokeCommandAction Command="{x:Static shell:SystemCommands.CloseWindowCommand}" />
</interactivity:EventTrigger>
</interactivity:Interaction.Triggers>
<Image IsHitTestVisible="False" Name="Icon" Source="{TemplateBinding Icon}" VerticalAlignment="Center" Width="16" Height="16"/>
</Button>
<TextBlock Grid.Column="1" Text="{TemplateBinding Title}" Padding="10,0,0,0" VerticalAlignment="Center">
<TextBlock.Visibility>
<MultiBinding Converter="{StaticResource BooleanArr2VisibilityConverter}">
<MultiBinding.Bindings>
<Binding Path="ShowTitle" RelativeSource="{RelativeSource TemplatedParent}"/>
<Binding Path="Title" RelativeSource="{RelativeSource TemplatedParent}" Converter="{StaticResource Object2BooleanConverter}"/>
</MultiBinding.Bindings>
</MultiBinding>
</TextBlock.Visibility>
</TextBlock>
<ContentPresenter shell:WindowChrome.IsHitTestVisibleInChrome="True" Grid.Column="2" x:Name="ContentPresenterMain" Content="{TemplateBinding NonClientAreaContent}"/>
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter ClipToBounds="True"/>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsActive" Value="False">
<Setter Property="Opacity" Value=".8" TargetName="ContentPresenterMain"/>
<Setter Property="Opacity" Value=".8" TargetName="ButtonPanel"/>
</Trigger>
<Trigger Property="WindowState" Value="Maximized">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax"/>
<Setter Property="Visibility" Value="Visible" TargetName="ButtonRestore"/>
</Trigger>
<Trigger Property="WindowState" Value="Normal">
<Setter Property="Visibility" Value="Visible" TargetName="ButtonMax"/>
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore"/>
</Trigger>
<Trigger Property="ResizeMode" Value="NoResize">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMin"/>
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax"/>
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore"/>
</Trigger>
<Trigger Property="ResizeMode" Value="CanMinimize">
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonMax"/>
<Setter Property="Visibility" Value="Collapsed" TargetName="ButtonRestore"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonClose">
<Setter Property="Background" TargetName="ButtonClose" Value="{Binding CloseButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonClose" Value="{Binding CloseButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonMax">
<Setter Property="Background" TargetName="ButtonMax" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonMax" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonRestore">
<Setter Property="Background" TargetName="ButtonRestore" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonRestore" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True" SourceName="ButtonMin">
<Setter Property="Background" TargetName="ButtonMin" Value="{Binding OtherButtonHoverBackground,RelativeSource={RelativeSource TemplatedParent}}"/>
<Setter Property="Foreground" TargetName="ButtonMin" Value="{Binding OtherButtonHoverForeground,RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ResizeMode" Value="CanResizeWithGrip"/>
<Condition Property="WindowState" Value="Normal" />
</MultiTrigger.Conditions>
<Setter TargetName="ResizeGrip" Property="Visibility" Value="Visible" />
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template" Value="{StaticResource WindowWin10Template}" />
<Style.Triggers>
<Trigger Property="hc:WindowAttach.ExtendContentToNonClientArea" Value="true">
<Setter Property="Template" Value="{StaticResource WindowWin10ExtendContentToNonClientTemplate}" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="WindowBlur" BasedOn="{StaticResource WindowWin10}" TargetType="hc:BlurWindow">
@@ -197,12 +293,12 @@
<ControlTemplate TargetType="hc:ImageBrowser">
<ControlTemplate.Resources>
<Storyboard x:Key="Storyboard1">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_GridTop">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_PanelTop">
<EasingDoubleKeyFrame KeyTime="0:0:.1" Value="1"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="Storyboard2">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_GridTop">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_PanelTop">
<EasingDoubleKeyFrame KeyTime="0:0:.4" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
@@ -213,13 +309,13 @@
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<hc:ImageViewer x:Name="PART_ImageViewer" ShowImgMap="True" BorderThickness="0" Background="#dd000000"/>
<Grid Name="PART_GridTop" Opacity="0" Background="{DynamicResource DarkOpacityBrush}" VerticalAlignment="Top" Grid.Row="0">
<hc:SimplePanel x:Name="PART_PanelTop" Opacity="0" Background="{DynamicResource DarkOpacityBrush}" VerticalAlignment="Top" Grid.Row="0">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock Text="{Binding ImgPath,ElementName=PART_ImageViewer}" Foreground="White" Margin="10,0,0,0"/>
<TextBlock Text="{Binding ImgSize,ElementName=PART_ImageViewer,Converter={StaticResource Long2FileSizeConverter}}" Foreground="White" Margin="30,0,0,0"/>
</StackPanel>
<Button Command="interactivity:ControlCommands.Close" shell:WindowChrome.IsHitTestVisibleInChrome="True" Background="Red" Grid.Row="0" Padding="14" hc:IconElement.Geometry="{StaticResource DeleteGeometry}" Style="{StaticResource ButtonIcon}" HorizontalAlignment="Right" VerticalAlignment="Top" Width="40" Height="40"/>
</Grid>
<Button Command="interactivity:ControlCommands.Close" Foreground="{DynamicResource TextIconBrush}" shell:WindowChrome.IsHitTestVisibleInChrome="True" Background="Red" Grid.Row="0" Padding="14" hc:IconElement.Geometry="{StaticResource DeleteGeometry}" Style="{StaticResource ButtonIcon}" HorizontalAlignment="Right" VerticalAlignment="Top" Width="40" Height="40"/>
</hc:SimplePanel>
</Grid>
<ControlTemplate.Triggers>
<Trigger SourceName="PART_ImageViewer" Property="ShowCloseButton" Value="True">
File diff suppressed because it is too large. Load diff
@@ -3,22 +3,21 @@
<OutputType>WinExe</OutputType>
<AssemblyName>HandyControlDemo</AssemblyName>
<RootNamespace>HandyControlDemo</RootNamespace>
<TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net45;net462;net47;net48;net5.0-windows</TargetFrameworks>
<TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;net5.0-windows;net6.0-windows;net7.0-windows</TargetFrameworks>
<ApplicationIcon>..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico</ApplicationIcon>
<NoWarn>0108;MSB3026;MSB3061</NoWarn>
<NoWarn>0108;MSB3026;MSB3061;SYSLIB0014</NoWarn>
<MSBuildWarningsAsMessages>NETSDK1138</MSBuildWarningsAsMessages>
<UseWPF>true</UseWPF>
<Copyright>Copyright © HandyOrg 2018-2021</Copyright>
<AssemblyVersion>3.1.0.0</AssemblyVersion>
<FileVersion>3.1.0.0</FileVersion>
<Version>3.1.0.0</Version>
<RepositoryUrl>https://github.com/HandyOrg/HandyControl</RepositoryUrl>
<ApplicationManifest>..\..\Shared\HandyControlDemo_Shared\app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit" Version="6.0.1" />
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="MvvmLightLibsStd10" Version="5.4.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>
@@ -175,15 +174,24 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ca-Es.png">
<Link>Resources\Img\Flag\ca-Es.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\cs.png">
<Link>Resources\Img\Flag\cs.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\en.png">
<Link>Resources\Img\Flag\en.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\es.png">
<Link>Resources\Img\Flag\es.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\fa.png">
<Link>Resources\Img\Flag\fa.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\fr.png">
<Link>Resources\Img\Flag\fr.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ja.png">
<Link>Resources\Img\Flag\ja.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\ko-KR.png">
<Link>Resources\Img\Flag\ko-KR.png</Link>
</Resource>
@@ -199,216 +207,15 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Flag\tr.png">
<Link>Resources\Img\Flag\tr.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Slack.png">
<Link>Resources\Img\Slack.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon-white.ico">
<Link>Resources\Img\icon-white.ico</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico">
<Link>Resources\Img\icon.ico</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\qq_group_1.jpg">
<Link>Resources\Img\qq_group_1.jpg</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\qq_group_2.jpg">
<Link>Resources\Img\qq_group_2.jpg</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Animation_16x.png">
<Link>Resources\Img\LeftMainContent\Animation_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\BorderElement_16x.png">
<Link>Resources\Img\LeftMainContent\BorderElement_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Brush_16x.png">
<Link>Resources\Img\LeftMainContent\Brush_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Bubble_16xLG.png">
<Link>Resources\Img\LeftMainContent\Bubble_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ButtonClick_16x.png">
<Link>Resources\Img\LeftMainContent\ButtonClick_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Calendar_16x.png">
<Link>Resources\Img\LeftMainContent\Calendar_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Carousel_16x.png">
<Link>Resources\Img\LeftMainContent\Carousel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\CheckBox_16x.png">
<Link>Resources\Img\LeftMainContent\CheckBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\CheckBoxList_16x.png">
<Link>Resources\Img\LeftMainContent\CheckBoxList_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ColorPalette_16x.png">
<Link>Resources\Img\LeftMainContent\ColorPalette_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ColorWheel_16x.png">
<Link>Resources\Img\LeftMainContent\ColorWheel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ComboBox_16x.png">
<Link>Resources\Img\LeftMainContent\ComboBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ContextMenu_16x.png">
<Link>Resources\Img\LeftMainContent\ContextMenu_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DataGrid_16x.png">
<Link>Resources\Img\LeftMainContent\DataGrid_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DatePicker_16x.png">
<Link>Resources\Img\LeftMainContent\DatePicker_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DetailDataView_16x.png">
<Link>Resources\Img\LeftMainContent\DetailDataView_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Dialog_16x.png">
<Link>Resources\Img\LeftMainContent\Dialog_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DotLarge_16x.png">
<Link>Resources\Img\LeftMainContent\DotLarge_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Expander_16x.png">
<Link>Resources\Img\LeftMainContent\Expander_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\FlipVertical_16x.png">
<Link>Resources\Img\LeftMainContent\FlipVertical_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Flow_16x.png">
<Link>Resources\Img\LeftMainContent\Flow_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\GoToTop_16x.png">
<Link>Resources\Img\LeftMainContent\GoToTop_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\GroupBox_16x.png">
<Link>Resources\Img\LeftMainContent\GroupBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\HoverMenu_16x.png">
<Link>Resources\Img\LeftMainContent\HoverMenu_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Image_16x.png">
<Link>Resources\Img\LeftMainContent\Image_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ImageBrowser_16x.png">
<Link>Resources\Img\LeftMainContent\ImageBrowser_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Label_16x.png">
<Link>Resources\Img\LeftMainContent\Label_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\layout-FlexLayout-16.png">
<Link>Resources\Img\LeftMainContent\layout-FlexLayout-16.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\LinearCarousel_16x.png">
<Link>Resources\Img\LeftMainContent\LinearCarousel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ListBox_16x.png">
<Link>Resources\Img\LeftMainContent\ListBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ListView_16x.png">
<Link>Resources\Img\LeftMainContent\ListView_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Loading_Blue_16x.png">
<Link>Resources\Img\LeftMainContent\Loading_Blue_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Message_16x.png">
<Link>Resources\Img\LeftMainContent\Message_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\NotificationHub_16x.png">
<Link>Resources\Img\LeftMainContent\NotificationHub_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\NumericListBox_16x.png">
<Link>Resources\Img\LeftMainContent\NumericListBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Paginator_16x.png">
<Link>Resources\Img\LeftMainContent\Paginator_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Panel_16x.png">
<Link>Resources\Img\LeftMainContent\Panel_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PasswordBox_16x.png">
<Link>Resources\Img\LeftMainContent\PasswordBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Path_16x.png">
<Link>Resources\Img\LeftMainContent\Path_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ProgressBar_16x.png">
<Link>Resources\Img\LeftMainContent\ProgressBar_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ProgressButton_16x.png">
<Link>Resources\Img\LeftMainContent\ProgressButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RadioButton_16x.png">
<Link>Resources\Img\LeftMainContent\RadioButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PropertyGridEditorPart_16x.png">
<Link>Resources\Img\LeftMainContent\PropertyGridEditorPart_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RepeatButton_16x.png">
<Link>Resources\Img\LeftMainContent\RepeatButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RichTextBox_16x.png">
<Link>Resources\Img\LeftMainContent\RichTextBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ScrollBox_16x.png">
<Link>Resources\Img\LeftMainContent\ScrollBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Search_16x.png">
<Link>Resources\Img\LeftMainContent\Search_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Shield_16x.png">
<Link>Resources\Img\LeftMainContent\Shield_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Slider_16x.png">
<Link>Resources\Img\LeftMainContent\Slider_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\SortAscending_grey_16x.png">
<Link>Resources\Img\LeftMainContent\SortAscending_grey_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\SplitterControl_16x.png">
<Link>Resources\Img\LeftMainContent\SplitterControl_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Star.png">
<Link>Resources\Img\LeftMainContent\Star.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TabPage_16x.png">
<Link>Resources\Img\LeftMainContent\TabPage_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Tag_16x.png">
<Link>Resources\Img\LeftMainContent\Tag_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TextBlock_16x.png">
<Link>Resources\Img\LeftMainContent\TextBlock_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TextBox_16x.png">
<Link>Resources\Img\LeftMainContent\TextBox_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Timeline_16x.png">
<Link>Resources\Img\LeftMainContent\Timeline_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TimePicker_16x.png">
<Link>Resources\Img\LeftMainContent\TimePicker_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Time_color_16x.png">
<Link>Resources\Img\LeftMainContent\Time_color_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Toggle_16x.png">
<Link>Resources\Img\LeftMainContent\Toggle_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ToolBar_16x.png">
<Link>Resources\Img\LeftMainContent\ToolBar_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Transfer_16x.png">
<Link>Resources\Img\LeftMainContent\Transfer_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TreeView_16x.png">
<Link>Resources\Img\LeftMainContent\TreeView_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\User_16x.png">
<Link>Resources\Img\LeftMainContent\User_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\WindowsForm_16x.png">
<Link>Resources\Img\LeftMainContent\WindowsForm_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\GridPane_16x.png">
<Link>Resources\Img\LeftMainContent\GridPane_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\under_construction.gif">
<Link>Resources\Img\under_construction.gif</Link>
</Resource>
@@ -427,90 +234,24 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\DevOps\DevOps-TestPlans.png">
<Link>Resources\Img\DevOps\DevOps-TestPlans.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\MainMenuControl_16x.png">
<Link>Resources\Img\LeftMainContent\MainMenuControl_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\fabric-icons.ttf">
<Link>Resources\fabric-icons.ttf</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\xshd\CSharp-Dark.xshd">
<Link>Resources\xshd\CSharp-Dark.xshd</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\xshd\XML-Dark.xshd">
<Link>Resources\xshd\XML-Dark.xshd</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Registry.txt">
<Link>Resources\Registry.txt</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\brackets_Square_16xLG.png">
<Link>Resources\Img\LeftMainContent\brackets_Square_16xLG.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ButtonGroup_16x.png">
<Link>Resources\Img\LeftMainContent\ButtonGroup_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\VSO_Card_16x.png">
<Link>Resources\Img\LeftMainContent\VSO_Card_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\ImageStack_16x.png">
<Link>Resources\Img\LeftMainContent\ImageStack_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\IncreaseHorizontalSpacing_16x.png">
<Link>Resources\Img\LeftMainContent\IncreaseHorizontalSpacing_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Dynamic_16x.png">
<Link>Resources\Img\LeftMainContent\Dynamic_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PolygonHexagon_16x.png">
<Link>Resources\Img\LeftMainContent\PolygonHexagon_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\HandyControl.png">
<Link>Resources\Img\LeftMainContent\HandyControl.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Procedure_16x.png">
<Link>Resources\Img\LeftMainContent\Procedure_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\Dance.png">
<Link>Resources\Img\Dance.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\thumbs_up.png">
<Link>Resources\Img\LeftMainContent\thumbs_up.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\SplitButton_16x.png">
<Link>Resources\Img\LeftMainContent\SplitButton_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DataGenerator_16x.png">
<Link>Resources\Img\LeftMainContent\DataGenerator_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\DottedSplitter_16x.png">
<Link>Resources\Img\LeftMainContent\DottedSplitter_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\PopupCursor_16x.png">
<Link>Resources\Img\LeftMainContent\PopupCursor_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TransitioningContentControl_16x.png">
<Link>Resources\Img\LeftMainContent\TransitioningContentControl_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\View_Portrait_16x.png">
<Link>Resources\Img\LeftMainContent\View_Portrait_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\TransformRelative_16x.png">
<Link>Resources\Img\LeftMainContent\TransformRelative_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Effects_16x.png">
<Link>Resources\Img\LeftMainContent\Effects_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\Ellipsis_16x.png">
<Link>Resources\Img\LeftMainContent\Ellipsis_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\WPFFlowDocument_16x.png">
<Link>Resources\Img\LeftMainContent\WPFFlowDocument_16x.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png">
<Link>Resources\Img\LeftMainContent\OutlinedRectangleTool_16x.png</Link>
</Resource>
<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>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\WindowScreenshot_16x.png">
<Link>Resources\Img\LeftMainContent\WindowScreenshot_16x.png</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.tr.resx">
@@ -519,15 +260,24 @@
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ca-ES.resx">
<Link>Properties\Langs\Lang.ca-ES.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.cs.resx">
<Link>Properties\Langs\Lang.cs.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.en.resx">
<Link>Properties\Langs\Lang.en.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.es.resx">
<Link>Properties\Langs\Lang.es.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fa.resx">
<Link>Properties\Langs\Lang.fa.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fr.resx">
<Link>Properties\Langs\Lang.fr.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ja.resx">
<Link>Properties\Langs\Lang.ja.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
@@ -573,8 +323,10 @@
<PostBuildEvent>
if not exist Langs md Langs
rd /s /q Langs\en
rd /s /q Langs\es
rd /s /q Langs\fa
rd /s /q Langs\fr
rd /s /q Langs\ja
rd /s /q Langs\ko-KR
rd /s /q Langs\pt-BR
rd /s /q Langs\pl
@@ -582,8 +334,10 @@
rd /s /q Langs\tr
rd /s /q Langs\ca-Es
move en Langs
move es Langs
move fa Langs
move fr Langs
move ja Langs
move ko-KR Langs
move pt-BR Langs
move pl Langs
@@ -2,20 +2,17 @@
<PropertyGroup>
<AssemblyName>HandyControl</AssemblyName>
<RootNamespace>HandyControl</RootNamespace>
<TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net45;net462;net47;net48;net5.0-windows</TargetFrameworks>
<Description>Contains some commonly used simple WPF controls</Description>
<TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;net5.0-windows;net6.0-windows;net7.0-windows</TargetFrameworks>
<Description>Contains some simple and commonly used WPF controls</Description>
<PackageId>HandyControl</PackageId>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<NoWarn>0067;0649;1591;MSB3061;SYSLIB0003;SYSLIB0004</NoWarn>
<NoWarn>0067;0649;1591;MSB3061;SYSLIB0003;SYSLIB0004;SYSLIB0032</NoWarn>
<MSBuildWarningsAsMessages>NETSDK1138</MSBuildWarningsAsMessages>
<UseWPF>true</UseWPF>
<AssemblyOriginatorKeyFile>..\..\Shared\HandyControl_Shared\key.snk</AssemblyOriginatorKeyFile>
<Copyright>Copyright © HandyOrg 2018-2021</Copyright>
<AssemblyVersion>3.1.0.0</AssemblyVersion>
<FileVersion>3.1.0.0</FileVersion>
<Version>3.1.0.0</Version>
<RepositoryUrl>https://github.com/HandyOrg/HandyControl</RepositoryUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageTags>WPF C# Control</PackageTags>
<PackageReleaseNotes>Changes are detailed at https://github.com/HandyOrg/HandyControl/releases</PackageReleaseNotes>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<SignAssembly>true</SignAssembly>
@@ -42,8 +39,14 @@
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ca-ES.resx">
<Link>Properties\Langs\Lang.ca-ES.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.cs.resx">
<Link>Properties\Langs\Lang.cs.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.en.resx">
<Link>Properties\Langs\Lang.en.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.es.resx">
<Link>Properties\Langs\Lang.es.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.fa.resx">
<Link>Properties\Langs\Lang.fa.resx</Link>
@@ -51,6 +54,9 @@
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.fr.resx">
<Link>Properties\Langs\Lang.fr.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ja.resx">
<Link>Properties\Langs\Lang.ja.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
@@ -80,6 +86,15 @@
</Content>
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
<Import Project="..\..\Shared\Microsoft.Expression.Drawing\Microsoft.Expression.Drawing.projitems" Label="Shared" />
<Import Project="..\..\Shared\System.Windows.Interactivity\System.Windows.Interactivity.projitems" Label="Shared" />
<Import Project="..\..\Shared\Microsoft.Expression.Interactions\Microsoft.Expression.Interactions.projitems" Label="Shared" />
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\dropper.cur">
<Link>Resources\dropper.cur</Link>
@@ -3,15 +3,16 @@
<UseWPF>true</UseWPF>
<AssemblyName>HandyControlDemoCode</AssemblyName>
<RootNamespace>HandyControlDemoCode</RootNamespace>
<TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net40;net45;net462;net47;net48;net5.0-windows</TargetFrameworks>
<TargetFrameworks>netcoreapp3.0;netcoreapp3.1;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;net5.0-windows;net6.0-windows;net7.0-windows</TargetFrameworks>
<NoWarn>MSB3026;MSB3061</NoWarn>
<MSBuildWarningsAsMessages>NETSDK1138</MSBuildWarningsAsMessages>
<Version>3.1.0.0</Version>
<Copyright>Copyright © HandyOrg 2018-2021</Copyright>
<RepositoryUrl>https://github.com/HandyOrg/HandyControl</RepositoryUrl>
<AssemblyVersion>3.1.0.0</AssemblyVersion>
<FileVersion>3.1.0.0</FileVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Window\AboutWindow.xaml">
<Link>Window\AboutWindow.xaml</Link>
@@ -61,6 +62,9 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\AnimationPathDemoCtl.xaml">
<Link>UserControl\Controls\AnimationPathDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\AutoCompleteTextBoxDemoCtl.xaml">
<Link>UserControl\Controls\AutoCompleteTextBoxDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\BadgeDemoCtl.xaml">
<Link>UserControl\Controls\BadgeDemoCtl.xaml</Link>
</Resource>
@@ -118,6 +122,9 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\DrawerDemoCtl.xaml">
<Link>UserControl\Controls\DrawerDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\ElementGroupDemoCtl.xaml">
<Link>UserControl\Controls\ElementGroupDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\FlexPanelDemoCtl.xaml">
<Link>UserControl\Controls\FlexPanelDemoCtl.xaml</Link>
</Resource>
@@ -259,6 +266,9 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\WaterfallPanelDemoCtl.xaml">
<Link>UserControl\Controls\WaterfallPanelDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\WatermarkDemoCtl.xaml">
<Link>UserControl\Controls\WatermarkDemoCtl.xaml</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\WindowDemoCtl.xaml">
<Link>UserControl\Controls\WindowDemoCtl.xaml</Link>
</Resource>
@@ -433,6 +443,10 @@
<Link>UserControl\Controls\AnimationPathDemoCtl.xaml.cs</Link>
<DependentUpon>AnimationPathDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\AutoCompleteTextBoxDemoCtl.xaml.cs">
<Link>UserControl\Controls\AutoCompleteTextBoxDemoCtl.xaml.cs</Link>
<DependentUpon>AutoCompleteTextBoxDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\BadgeDemoCtl.xaml.cs">
<Link>UserControl\Controls\BadgeDemoCtl.xaml.cs</Link>
<DependentUpon>BadgeDemoCtl.xaml</DependentUpon>
@@ -509,6 +523,10 @@
<Link>UserControl\Controls\DrawerDemoCtl.xaml.cs</Link>
<DependentUpon>DrawerDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\ElementGroupDemoCtl.xaml.cs">
<Link>UserControl\Controls\ElementGroupDemoCtl.xaml.cs</Link>
<DependentUpon>ElementGroupDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\FlexPanelDemoCtl.xaml.cs">
<Link>UserControl\Controls\FlexPanelDemoCtl.xaml.cs</Link>
<DependentUpon>FlexPanelDemoCtl.xaml</DependentUpon>
@@ -693,6 +711,10 @@
<Link>UserControl\Controls\UniformSpacingPanelDemoCtl.xaml.cs</Link>
<DependentUpon>UniformSpacingPanelDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\WatermarkDemoCtl.xaml.cs">
<Link>UserControl\Controls\WatermarkDemoCtl.xaml.cs</Link>
<DependentUpon>WatermarkDemoCtl.xaml</DependentUpon>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\UserControl\Controls\WaterfallPanelDemoCtl.xaml.cs">
<Link>UserControl\Controls\WaterfallPanelDemoCtl.xaml.cs</Link>
<DependentUpon>WaterfallPanelDemoCtl.xaml</DependentUpon>
@@ -845,8 +867,11 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Basic\InteractiveDialogViewModel.cs">
<Link>ViewModel\InteractiveDialogViewModel.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Common\ComboBoxDemoViewModel.cs">
<Link>ViewModel\ComboBoxDemoViewModel.cs</Link>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Common\InputElementDemoViewModel.cs">
<Link>ViewModel\InputElementDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\AutoCompleteTextBoxDemoViewModel.cs">
<Link>ViewModel\AutoCompleteTextBoxDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\BadgeDemoViewModel.cs">
<Link>ViewModel\BadgeDemoViewModel.cs</Link>
@@ -875,9 +900,6 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\PaginationDemoViewModel.cs">
<Link>ViewModel\PaginationDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\SearchBarDemoViewModel.cs">
<Link>ViewModel\SearchBarDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\SideMenuDemoViewModel.cs">
<Link>ViewModel\SideMenuDemoViewModel.cs</Link>
</Resource>
@@ -899,8 +921,8 @@
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Controls\WindowDemoViewModel.cs">
<Link>ViewModel\WindowDemoViewModel.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\DemoViewModelBase!1.cs">
<Link>ViewModel\DemoViewModelBase!1.cs</Link>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\DemoViewModelBase`1.cs">
<Link>ViewModel\DemoViewModelBase`1.cs</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\ViewModel\Main\ItemsDisplayViewModel.cs">
<Link>ViewModel\ItemsDisplayViewModel.cs</Link>
+90 -91
View File
@@ -15,124 +15,123 @@ using HandyControlDemo.Data;
using HandyControlDemo.Properties.Langs;
using HandyControlDemo.Tools;
namespace HandyControlDemo
namespace HandyControlDemo;
public partial class App
{
public partial class App
{
#pragma warning disable IDE0052
[SuppressMessage("ReSharper", "NotAccessedField.Local")]
private static Mutex AppMutex;
[SuppressMessage("ReSharper", "NotAccessedField.Local")]
private static Mutex AppMutex;
#pragma warning restore IDE0052
public App()
{
public App()
{
#if !NET40
var cachePath = $"{AppDomain.CurrentDomain.BaseDirectory}Cache";
if (!Directory.Exists(cachePath))
{
Directory.CreateDirectory(cachePath);
}
ProfileOptimization.SetProfileRoot(cachePath);
ProfileOptimization.StartProfile("Profile");
#endif
}
protected override void OnStartup(StartupEventArgs e)
var cachePath = $"{AppDomain.CurrentDomain.BaseDirectory}Cache";
if (!Directory.Exists(cachePath))
{
AppMutex = new Mutex(true, "HandyControlDemo", out var createdNew);
Directory.CreateDirectory(cachePath);
}
ProfileOptimization.SetProfileRoot(cachePath);
ProfileOptimization.StartProfile("Profile");
#endif
}
if (!createdNew)
protected override void OnStartup(StartupEventArgs e)
{
AppMutex = new Mutex(true, "HandyControlDemo", out var createdNew);
if (!createdNew)
{
var current = Process.GetCurrentProcess();
foreach (var process in Process.GetProcessesByName(current.ProcessName))
{
var current = Process.GetCurrentProcess();
foreach (var process in Process.GetProcessesByName(current.ProcessName))
if (process.Id != current.Id)
{
if (process.Id != current.Id)
{
Win32Helper.SetForegroundWindow(process.MainWindowHandle);
break;
}
Win32Helper.SetForegroundWindow(process.MainWindowHandle);
break;
}
Shutdown();
}
else
Shutdown();
}
else
{
var splashScreen = new SplashScreen("Resources/Img/Cover.png");
splashScreen.Show(true);
base.OnStartup(e);
UpdateRegistry();
ShutdownMode = ShutdownMode.OnMainWindowClose;
GlobalData.Init();
ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
LangProvider.Culture = new CultureInfo(GlobalData.Config.Lang);
if (GlobalData.Config.Skin != SkinType.Default)
{
var splashScreen = new SplashScreen("Resources/Img/Cover.png");
splashScreen.Show(true);
UpdateSkin(GlobalData.Config.Skin);
}
base.OnStartup(e);
UpdateRegistry();
ShutdownMode = ShutdownMode.OnMainWindowClose;
GlobalData.Init();
ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
LangProvider.Culture = new CultureInfo(GlobalData.Config.Lang);
if (GlobalData.Config.Skin != SkinType.Default)
{
UpdateSkin(GlobalData.Config.Skin);
}
ConfigHelper.Instance.SetWindowDefaultStyle();
ConfigHelper.Instance.SetNavigationWindowDefaultStyle();
ConfigHelper.Instance.SetWindowDefaultStyle();
ConfigHelper.Instance.SetNavigationWindowDefaultStyle();
#if NET40
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
#else
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
#endif
}
}
}
protected override void OnExit(ExitEventArgs e)
protected override void OnExit(ExitEventArgs e)
{
base.OnExit(e);
GlobalData.Save();
}
internal void UpdateSkin(SkinType skin)
{
var skins0 = Resources.MergedDictionaries[0];
skins0.MergedDictionaries.Clear();
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(skin));
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skin));
var skins1 = Resources.MergedDictionaries[1];
skins1.MergedDictionaries.Clear();
skins1.MergedDictionaries.Add(new ResourceDictionary
{
base.OnExit(e);
GlobalData.Save();
}
internal void UpdateSkin(SkinType skin)
Source = new Uri("pack://application:,,,/HandyControl;component/Themes/Theme.xaml")
});
skins1.MergedDictionaries.Add(new ResourceDictionary
{
var skins0 = Resources.MergedDictionaries[0];
skins0.MergedDictionaries.Clear();
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(skin));
skins0.MergedDictionaries.Add(ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skin));
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
});
var skins1 = Resources.MergedDictionaries[1];
skins1.MergedDictionaries.Clear();
skins1.MergedDictionaries.Add(new ResourceDictionary
{
Source = new Uri("pack://application:,,,/HandyControl;component/Themes/Theme.xaml")
});
skins1.MergedDictionaries.Add(new ResourceDictionary
{
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
});
Current.MainWindow?.OnApplyTemplate();
}
Current.MainWindow?.OnApplyTemplate();
}
private void UpdateRegistry()
private void UpdateRegistry()
{
var processModule = Process.GetCurrentProcess().MainModule;
if (processModule != null)
{
var processModule = Process.GetCurrentProcess().MainModule;
if (processModule != null)
var registryFilePath = $"{Path.GetDirectoryName(processModule.FileName)}\\Registry.reg";
if (!File.Exists(registryFilePath))
{
var registryFilePath = $"{Path.GetDirectoryName(processModule.FileName)}\\Registry.reg";
if (!File.Exists(registryFilePath))
var streamResourceInfo = GetResourceStream(new Uri("pack://application:,,,/Resources/Registry.txt"));
if (streamResourceInfo != null)
{
var streamResourceInfo = GetResourceStream(new Uri("pack://application:,,,/Resources/Registry.txt"));
if (streamResourceInfo != null)
using var reader = new StreamReader(streamResourceInfo.Stream);
var registryStr = reader.ReadToEnd();
var newRegistryStr = registryStr.Replace("#", processModule.FileName.Replace("\\", "\\\\"));
File.WriteAllText(registryFilePath, newRegistryStr);
Process.Start(new ProcessStartInfo("cmd", $"/c {registryFilePath}")
{
using var reader = new StreamReader(streamResourceInfo.Stream);
var registryStr = reader.ReadToEnd();
var newRegistryStr = registryStr.Replace("#", processModule.FileName.Replace("\\", "\\\\"));
File.WriteAllText(registryFilePath, newRegistryStr);
Process.Start(new ProcessStartInfo("cmd", $"/c {registryFilePath}")
{
UseShellExecute = false,
CreateNoWindow = true
});
}
UseShellExecute = false,
CreateNoWindow = true
});
}
}
}
@@ -1,14 +1,13 @@
using System;
using HandyControl.Data;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
internal class AppConfig
{
internal class AppConfig
{
public static readonly string SavePath = $"{AppDomain.CurrentDomain.BaseDirectory}AppConfig.json";
public static readonly string SavePath = $"{AppDomain.CurrentDomain.BaseDirectory}AppConfig.json";
public string Lang { get; set; } = "zh-cn";
public string Lang { get; set; } = "zh-cn";
public SkinType Skin { get; set; }
}
public SkinType Skin { get; set; }
}
@@ -4,37 +4,37 @@
"selectedIndex": -1,
"group": false,
"demoItemList": [
[ "Brush", "BrushDemoCtl", "Brush_16x", "", "" ],
[ "Button", "ButtonDemoCtl", "ButtonClick_16x", "", "" ],
[ "RepeatButton", "RepeatButtonDemoCtl", "RepeatButton_16x", "", "" ],
[ "ToggleButton", "ToggleButtonDemoCtl", "Toggle_16x", "", "" ],
[ "RadioButton", "RadioButtonDemoCtl", "RadioButton_16x", "", "" ],
[ "CheckBox", "CheckBoxDemoCtl", "CheckBox_16x", "", "" ],
[ "ScrollViewer", "NativeScrollViewerDemoCtl", "ScrollBox_16x", "", "" ],
[ "Slider", "SliderDemoCtl", "Slider_16x", "", "" ],
[ "TextBlock", "TextBlockDemoCtl", "TextBlock_16x", "", "" ],
[ "TextBox", "NativeTextBoxDemoCtl", "TextBox_16x", "", "" ],
[ "ComboBox", "NativeComboBoxDemoCtl", "ComboBox_16x", "", "" ],
[ "PasswordBox", "NativePasswordBoxDemoCtl", "PasswordBox_16x", "", "" ],
[ "Expander", "ExpanderDemoCtl", "Expander_16x", "", "" ],
[ "ProgressBar", "NativeProgressBarDemoCtl", "ProgressBar_16x", "", "" ],
[ "Calendar", "CalendarDemoCtl", "Calendar_16x", "", "" ],
[ "DatePicker", "NativeDatePickerDemoCtl", "DatePicker_16x", "", "" ],
[ "TabControl", "NativeTabControlDemoCtl", "TabPage_16x", "", "" ],
[ "DataGrid", "DataGridDemoCtl", "DataGrid_16x", "", "" ],
[ "TreeView", "TreeViewDemoCtl", "TreeView_16x", "", "" ],
[ "ListBox", "ListBoxDemoCtl", "ListBox_16x", "", "" ],
[ "ListView", "ListViewDemoCtl", "ListView_16x", "", "" ],
[ "GroupBox", "GroupBoxDemoCtl", "GroupBox_16x", "", "" ],
[ "Menu", "MenuDemoCtl", "ContextMenu_16x", "", "" ],
[ "RichTextBox", "RichTextBoxDemoCtl", "RichTextBox_16x", "", "" ],
[ "FlowDocument", "FlowDocumentDemoCtl", "WPFFlowDocument_16x", "", "" ],
[ "ToolBar", "ToolBarDemoCtl", "ToolBar_16x", "", "" ],
[ "Border", "BorderDemoCtl", "BorderElement_16x", "", "" ],
[ "Label", "LabelDemoCtl", "Label_16x", "", "" ],
[ "Frame", "FrameDemoCtl", "frame_16xLG", "", "" ],
[ "Window", "NativeWindowDemoCtl", "WindowsForm_16x", "", "" ],
[ "Geometry", "GeometryDemoCtl", "Path_16x", "1", "" ]
[ "Brush", "BrushDemoCtl", "Brush.Brush", "", "" ],
[ "Button", "ButtonDemoCtl", "Brush.ButtonClick", "", "" ],
[ "RepeatButton", "RepeatButtonDemoCtl", "Brush.RepeatButton", "", "" ],
[ "ToggleButton", "ToggleButtonDemoCtl", "Brush.Toggle", "", "" ],
[ "RadioButton", "RadioButtonDemoCtl", "Brush.RadioButton", "", "" ],
[ "CheckBox", "CheckBoxDemoCtl", "Brush.CheckBoxChecked", "", "" ],
[ "ScrollViewer", "NativeScrollViewerDemoCtl", "Brush.ScrollBox", "", "" ],
[ "Slider", "SliderDemoCtl", "Brush.Slider", "", "" ],
[ "TextBlock", "TextBlockDemoCtl", "Brush.TextBlock", "", "" ],
[ "TextBox", "NativeTextBoxDemoCtl", "Brush.TextBox", "", "" ],
[ "ComboBox", "NativeComboBoxDemoCtl", "Brush.ComboBox", "", "" ],
[ "PasswordBox", "NativePasswordBoxDemoCtl", "Brush.PasswordBox", "", "" ],
[ "Expander", "ExpanderDemoCtl", "Brush.Expander", "", "" ],
[ "ProgressBar", "NativeProgressBarDemoCtl", "Brush.ProgressBar", "", "" ],
[ "Calendar", "CalendarDemoCtl", "Brush.Calendar", "", "" ],
[ "DatePicker", "NativeDatePickerDemoCtl", "Brush.DateTimePicker", "", "" ],
[ "TabControl", "NativeTabControlDemoCtl", "Brush.TabPage", "", "" ],
[ "DataGrid", "DataGridDemoCtl", "Brush.DataGrid", "", "" ],
[ "TreeView", "TreeViewDemoCtl", "Brush.TreeView", "", "" ],
[ "ListBox", "ListBoxDemoCtl", "Brush.ListBox", "", "" ],
[ "ListView", "ListViewDemoCtl", "Brush.ListView", "", "" ],
[ "GroupBox", "GroupBoxDemoCtl", "Brush.GroupBox", "", "" ],
[ "Menu", "MenuDemoCtl", "Brush.ContextMenu", "", "" ],
[ "RichTextBox", "RichTextBoxDemoCtl", "Brush.RichTextBox", "", "" ],
[ "FlowDocument", "FlowDocumentDemoCtl", "Brush.WPFFlowDocument", "", "" ],
[ "ToolBar", "ToolBarDemoCtl", "Brush.ToolBar", "", "" ],
[ "Border", "BorderDemoCtl", "Brush.BorderElement", "", "" ],
[ "Label", "LabelDemoCtl", "Brush.Label", "", "" ],
[ "Frame", "FrameDemoCtl", "Brush.FrameBorder", "", "" ],
[ "Window", "NativeWindowDemoCtl", "Brush.WindowsForm", "", "" ],
[ "Geometry", "GeometryDemoCtl", "Brush.Path", "", "" ]
]
},
{
@@ -42,74 +42,77 @@
"selectedIndex": 0,
"group": true,
"demoItemList": [
[ "FloatingBlock", "FloatingBlockDemoCtl", "thumbs_up", "", "Interacting" ],
[ "PropertyGrid", "PropertyGridDemoCtl", "PropertyGridEditorPart_16x", "1", "DataEntry" ],
[ "ImageSelector", "ImageSelectorDemoCtl", "Image_16x", "1", "DataEntry" ],
[ "ImageBlock", "ImageBlockDemoCtl", "ImageStack_16x", "", "DataDisplay" ],
[ "Magnifier", "MagnifierDemoCtl", "Search_16x", "", "Interacting" ],
[ "Gravatar", "GravatarDemoCtl", "User_16x", "", "DataDisplay" ],
[ "Badge", "BadgeDemoCtl", "DotLarge_16x", "", "DataDisplay" ],
[ "SplitButton", "SplitButtonDemoCtl", "SplitButton_16x", "", "Button" ],
[ "ButtonGroup", "ButtonGroupDemoCtl", "ButtonGroup_16x", "", "Button" ],
[ "ProgressButton", "ProgressButtonDemoCtl", "ProgressButton_16x", "", "Button" ],
[ "Poptip", "PoptipDemoCtl", "PopupCursor_16x", "", "DataDisplay" ],
[ "NumericUpDown", "NumericUpDownDemoCtl", "NumericListBox_16x", "", "DataEntry" ],
[ "TextBox", "TextBoxDemoCtl", "TextBox_16x", "", "DataEntry" ],
[ "ComboBox", "ComboBoxDemoCtl", "ComboBox_16x", "", "DataEntry" ],
[ "CheckComboBox", "CheckComboBoxDemoCtl", "CheckBoxList_16x", "1", "DataEntry" ],
[ "PasswordBox", "PasswordBoxDemoCtl", "PasswordBox_16x", "", "DataEntry" ],
[ "PinBox", "PinBoxDemoCtl", "Ellipsis_16x", "", "DataEntry" ],
[ "DatePicker", "DatePickerDemoCtl", "DatePicker_16x", "", "DataEntry" ],
[ "Clock", "ClockDemoCtl", "Time_color_16x", "", "DataEntry" ],
[ "TimePicker", "TimePickerDemoCtl", "TimePicker_16x", "", "DataEntry" ],
[ "CalendarWithClock", "CalendarWithClockDemoCtl", "Calendar_16x", "", "DataEntry" ],
[ "DateTimePicker", "DateTimePickerDemoCtl", "DatePicker_16x", "", "DataEntry" ],
[ "Transfer", "TransferDemoCtl", "Transfer_16x", "", "DataEntry" ],
[ "FlipClock", "FlipClockDemoCtl", "FlipVertical_16x", "", "DataDisplay" ],
[ "Rate", "RateDemoCtl", "Star", "", "DataEntry" ],
[ "Shield", "ShieldDemoCtl", "Shield_16x", "", "DataDisplay" ],
[ "SearchBar", "SearchBarDemoCtl", "Search_16x", "", "DataEntry" ],
[ "Tag", "TagDemoCtl", "Tag_16x", "", "DataDisplay" ],
[ "GifImage", "GifImageDemoCtl", "Animation_16x", "", "DataDisplay" ],
[ "OutlineText", "OutlineTextDemoCtl", "TextBlock_16x", "", "DataDisplay" ],
[ "RunningBlock", "RunningBlockDemoCtl", "Dynamic_16x", "", "DataDisplay" ],
[ "Card", "CardDemoCtl", "VSO_Card_16x", "", "DataDisplay" ],
[ "Divider", "DividerDemoCtl", "DottedSplitter_16x", "", "Layout" ],
[ "CirclePanel", "CirclePanelDemoCtl", "ColorWheel_16x", "", "Layout" ],
[ "Grid", "GridDemoCtl", "GridPane_16x", "", "Layout" ],
[ "FlexPanel", "FlexPanelDemoCtl", "layout-FlexLayout-16", "1", "Layout" ],
[ "UniformSpacingPanel", "UniformSpacingPanelDemoCtl", "IncreaseHorizontalSpacing_16x", "1", "Layout" ],
[ "RelativePanel", "RelativePanelDemoCtl", "TransformRelative_16x", "", "Layout" ],
[ "WaterfallPanel", "WaterfallPanelDemoCtl", "Panel_16x", "", "Layout" ],
[ "HoneycombPanel", "HoneycombPanelDemoCtl", "PolygonHexagon_16x", "", "Layout" ],
[ "TransitioningContentControl", "TransitioningContentControlDemoCtl", "TransitioningContentControl_16x", "", "Interacting" ],
[ "Drawer", "DrawerDemoCtl", "View_Portrait_16x", "", "Feedback" ],
[ "CoverView", "CoverViewDemoCtl", "DetailDataView_16x", "", "DataDisplay" ],
[ "CoverFlow", "CoverFlowDemoCtl", "LinearCarousel_16x", "", "DataDisplay" ],
[ "ProgressBar", "ProgressBarDemoCtl", "ProgressBar_16x", "", "Feedback" ],
[ "StepBar", "StepBarDemoCtl", "Flow_16x", "", "Navigation" ],
[ "Growl", "GrowlDemoCtl", "Message_16x", "", "Feedback" ],
[ "Loading", "LoadingDemoCtl", "Loading_Blue_16x", "", "Feedback" ],
[ "ColorPicker", "ColorPickerDemoCtl", "ColorPalette_16x", "", "DataEntry" ],
[ "Carousel", "CarouselDemoCtl", "Carousel_16x", "", "DataDisplay" ],
[ "CompareSlider", "CompareSliderDemoCtl", "SplitterControl_16x", "", "Interacting" ],
[ "PreviewSlider", "PreviewSliderDemoCtl", "HoverMenu_16x", "", "DataEntry" ],
[ "RangeSlider", "RangeSliderDemoCtl", "brackets_Square_16xLG", "", "DataEntry" ],
[ "TimeBar", "TimeBarDemoCtl", "Timeline_16x", "", "DataEntry" ],
[ "Pagination", "PaginationDemoCtl", "Paginator_16x", "", "Navigation" ],
[ "TabControl", "TabControlDemoCtl", "TabPage_16x", "", "DataDisplay" ],
[ "SideMenu", "SideMenuDemoCtl", "MainMenuControl_16x", "", "Navigation" ],
[ "Notification", "NotificationDemoCtl", "Procedure_16x", "", "Feedback" ],
[ "Dialog", "DialogDemoCtl", "Dialog_16x", "", "Feedback" ],
[ "Screenshot", "ScreenshotDemoCtl", "WindowScreenshot_16x", "", "" ],
[ "GotoTop", "GotoTopDemoCtl", "GoToTop_16x", "", "" ],
[ "ChatBubble", "ChatBubbleDemoCtl", "Bubble_16xLG", "", "" ],
[ "NotifyIcon", "NotifyIconDemoCtl", "NotificationHub_16x", "", "" ],
[ "ImageBrowser", "ImageBrowserDemoCtl", "ImageBrowser_16x", "", "" ],
[ "AnimationPath", "AnimationPathDemoCtl", "Path_16x", "", "" ],
[ "ScrollViewer", "ScrollViewerDemoCtl", "ScrollBox_16x", "", "" ],
[ "Sprite", "SpriteDemoCtl", "HandyControl", "", "" ],
[ "Window", "WindowDemoCtl", "WindowsForm_16x", "", "" ]
[ "FloatingBlock", "FloatingBlockDemoCtl", "Brush.LikeFilled", "", "Interacting" ],
[ "PropertyGrid", "PropertyGridDemoCtl", "Brush.PropertyGridEditorPart", "", "DataEntry" ],
[ "ImageSelector", "ImageSelectorDemoCtl", "Brush.Image", "", "DataEntry" ],
[ "ImageBlock", "ImageBlockDemoCtl", "Brush.ImageStack", "", "DataDisplay" ],
[ "Magnifier", "MagnifierDemoCtl", "Brush.Search", "", "Interacting" ],
[ "Gravatar", "GravatarDemoCtl", "Brush.User", "", "DataDisplay" ],
[ "Badge", "BadgeDemoCtl", "Brush.CheckDot", "", "DataDisplay" ],
[ "SplitButton", "SplitButtonDemoCtl", "Brush.SplitButton", "", "Button" ],
[ "ButtonGroup", "ButtonGroupDemoCtl", "Brush.ButtonGroup", "", "Button" ],
[ "ProgressButton", "ProgressButtonDemoCtl", "Brush.ProgressBarStatusBar8", "", "Button" ],
[ "Poptip", "PoptipDemoCtl", "Brush.ToolTip", "", "DataDisplay" ],
[ "NumericUpDown", "NumericUpDownDemoCtl", "Brush.NumericListBox", "", "DataEntry" ],
[ "TextBox", "TextBoxDemoCtl", "Brush.TextBox", "", "DataEntry" ],
[ "ComboBox", "ComboBoxDemoCtl", "Brush.ComboBox", "", "DataEntry" ],
[ "CheckComboBox", "CheckComboBoxDemoCtl", "Brush.CheckBoxList", "", "DataEntry" ],
[ "AutoCompleteTextBox", "AutoCompleteTextBoxDemoCtl", "Brush.AutoComplete", "1", "DataEntry" ],
[ "PasswordBox", "PasswordBoxDemoCtl", "Brush.PasswordBox", "", "DataEntry" ],
[ "PinBox", "PinBoxDemoCtl", "Brush.Ellipsis", "", "DataEntry" ],
[ "DatePicker", "DatePickerDemoCtl", "Brush.DateTimePicker", "", "DataEntry" ],
[ "Clock", "ClockDemoCtl", "Brush.Time", "", "DataEntry" ],
[ "TimePicker", "TimePickerDemoCtl", "Brush.TimePicker", "", "DataEntry" ],
[ "CalendarWithClock", "CalendarWithClockDemoCtl", "Brush.Calendar", "", "DataEntry" ],
[ "DateTimePicker", "DateTimePickerDemoCtl", "Brush.DateTimePicker", "", "DataEntry" ],
[ "Transfer", "TransferDemoCtl", "Brush.SyncArrow", "", "DataEntry" ],
[ "FlipClock", "FlipClockDemoCtl", "Brush.FlipVertical", "", "DataDisplay" ],
[ "Rate", "RateDemoCtl", "Brush.HeartFilled", "", "DataEntry" ],
[ "Shield", "ShieldDemoCtl", "Brush.SplitKeyValuePair", "", "DataDisplay" ],
[ "SearchBar", "SearchBarDemoCtl", "Brush.Search", "", "DataEntry" ],
[ "Tag", "TagDemoCtl", "Brush.Tag", "", "DataDisplay" ],
[ "GifImage", "GifImageDemoCtl", "Brush.Animation", "", "DataDisplay" ],
[ "OutlineText", "OutlineTextDemoCtl", "Brush.TextBlock", "", "DataDisplay" ],
[ "RunningBlock", "RunningBlockDemoCtl", "Brush.Dynamic", "", "DataDisplay" ],
[ "Card", "CardDemoCtl", "Brush.ContactCard", "", "DataDisplay" ],
[ "ElementGroup", "ElementGroupDemoCtl", "Brush.ButtonGroup", "1", "Layout" ],
[ "Divider", "DividerDemoCtl", "Brush.DottedSplitter", "", "Layout" ],
[ "CirclePanel", "CirclePanelDemoCtl", "Brush.ColorWheel", "", "Layout" ],
[ "Grid", "GridDemoCtl", "Brush.GridPane", "", "Layout" ],
[ "FlexPanel", "FlexPanelDemoCtl", "Brush.FlowLayoutPanel", "1", "Layout" ],
[ "UniformSpacingPanel", "UniformSpacingPanelDemoCtl", "Brush.IncreaseHorizontalSpacing", "1", "Layout" ],
[ "RelativePanel", "RelativePanelDemoCtl", "Brush.TransformRelative", "", "Layout" ],
[ "WaterfallPanel", "WaterfallPanelDemoCtl", "Brush.Panel", "", "Layout" ],
[ "HoneycombPanel", "HoneycombPanelDemoCtl", "Brush.PolygonHexagon", "", "Layout" ],
[ "TransitioningContentControl", "TransitioningContentControlDemoCtl", "Brush.TransitioningContentControl", "", "Interacting" ],
[ "Drawer", "DrawerDemoCtl", "Brush.TransactedReceiveScope", "", "Feedback" ],
[ "CoverView", "CoverViewDemoCtl", "Brush.DetailDataView", "", "DataDisplay" ],
[ "CoverFlow", "CoverFlowDemoCtl", "Brush.LinearCarousel", "", "DataDisplay" ],
[ "ProgressBar", "ProgressBarDemoCtl", "Brush.ProgressBar", "", "Feedback" ],
[ "StepBar", "StepBarDemoCtl", "Brush.Flow", "", "Navigation" ],
[ "Growl", "GrowlDemoCtl", "Brush.Message", "", "Feedback" ],
[ "Loading", "LoadingDemoCtl", "Brush.Loading", "", "Feedback" ],
[ "ColorPicker", "ColorPickerDemoCtl", "Brush.ColorPalette", "", "DataEntry" ],
[ "Carousel", "CarouselDemoCtl", "Brush.Carousel", "", "DataDisplay" ],
[ "CompareSlider", "CompareSliderDemoCtl", "Brush.SplitterControl", "", "Interacting" ],
[ "PreviewSlider", "PreviewSliderDemoCtl", "Brush.HoverMenu", "", "DataEntry" ],
[ "RangeSlider", "RangeSliderDemoCtl", "Brush.Indexer", "", "DataEntry" ],
[ "TimeBar", "TimeBarDemoCtl", "Brush.Timeline", "", "DataEntry" ],
[ "Pagination", "PaginationDemoCtl", "Brush.Paginator", "", "Navigation" ],
[ "TabControl", "TabControlDemoCtl", "Brush.TabPage", "", "DataDisplay" ],
[ "SideMenu", "SideMenuDemoCtl", "Brush.MainMenuControl", "", "Navigation" ],
[ "Notification", "NotificationDemoCtl", "Brush.Procedure", "", "Feedback" ],
[ "Dialog", "DialogDemoCtl", "Brush.Dialog", "", "Feedback" ],
[ "Screenshot", "ScreenshotDemoCtl", "Brush.WindowScreenshot", "", "" ],
[ "GotoTop", "GotoTopDemoCtl", "Brush.GoToTop", "", "" ],
[ "ChatBubble", "ChatBubbleDemoCtl", "Brush.FeedbackBubble", "", "" ],
[ "Watermark", "WatermarkDemoCtl", "Brush.GridLight", "1", "" ],
[ "NotifyIcon", "NotifyIconDemoCtl", "Brush.NotificationHub", "", "" ],
[ "ImageBrowser", "ImageBrowserDemoCtl", "Brush.ImageBrowser", "", "" ],
[ "AnimationPath", "AnimationPathDemoCtl", "Brush.Path", "", "" ],
[ "ScrollViewer", "ScrollViewerDemoCtl", "Brush.ScrollBox", "", "" ],
[ "Sprite", "SpriteDemoCtl", "Brush.HandyControl", "", "" ],
[ "Window", "WindowDemoCtl", "Brush.WindowsForm", "", "" ]
]
},
{
@@ -117,9 +120,9 @@
"selectedIndex": 0,
"group": false,
"demoItemList": [
[ "HatchBrushGenerator", "HatchBrushGeneratorDemoCtl", "DataGenerator_16x", "", "" ],
[ "Morphing_Animation", "GeometryAnimationDemoCtl", "Animation_16x", "", "" ],
[ "Effects", "EffectsDemoCtl", "Effects_16x", "", "" ]
[ "HatchBrushGenerator", "HatchBrushGeneratorDemoCtl", "Brush.DataGenerator", "", "" ],
[ "Morphing_Animation", "GeometryAnimationDemoCtl", "Brush.Animation", "", "" ],
[ "Effects", "EffectsDemoCtl", "Brush.Effects", "", "" ]
]
}
]
@@ -1,13 +1,12 @@
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public enum DemoType
{
public enum DemoType
{
Type1 = 1,
Type2,
Type3,
Type4,
Type5,
Type6
}
Type1 = 1,
Type2,
Type3,
Type4,
Type5,
Type6
}
@@ -1,38 +1,37 @@
using System.IO;
using Newtonsoft.Json;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
internal class GlobalData
{
internal class GlobalData
public static void Init()
{
public static void Init()
if (File.Exists(AppConfig.SavePath))
{
if (File.Exists(AppConfig.SavePath))
try
{
try
{
var json = File.ReadAllText(AppConfig.SavePath);
Config = (string.IsNullOrEmpty(json) ? new AppConfig() : JsonConvert.DeserializeObject<AppConfig>(json)) ?? new AppConfig();
}
catch
{
Config = new AppConfig();
}
var json = File.ReadAllText(AppConfig.SavePath);
Config = (string.IsNullOrEmpty(json) ? new AppConfig() : JsonConvert.DeserializeObject<AppConfig>(json)) ?? new AppConfig();
}
else
catch
{
Config = new AppConfig();
}
}
public static void Save()
else
{
var json = JsonConvert.SerializeObject(Config);
File.WriteAllText(AppConfig.SavePath, json);
Config = new AppConfig();
}
public static AppConfig Config { get; set; }
public static bool NotifyIconIsShow { get; set; }
}
public static void Save()
{
var json = JsonConvert.SerializeObject(Config);
File.WriteAllText(AppConfig.SavePath, json);
}
public static AppConfig Config { get; set; }
public static bool NotifyIconIsShow { get; set; }
}
@@ -1,56 +1,57 @@
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class MessageToken
{
public class MessageToken
{
public static readonly string LoadShowContent = nameof(LoadShowContent);
public static readonly string LoadShowContent = nameof(LoadShowContent);
public static readonly string FullSwitch = nameof(FullSwitch);
public static readonly string FullSwitch = nameof(FullSwitch);
public static readonly string ContributorsView = nameof(ContributorsView);
public static readonly string ContributorsView = nameof(ContributorsView);
public static readonly string ClearLeftSelected = nameof(ClearLeftSelected);
public static readonly string ClearLeftSelected = nameof(ClearLeftSelected);
public static readonly string SendChatMessage = nameof(SendChatMessage);
public static readonly string SendChatMessage = nameof(SendChatMessage);
public static readonly string GrowlDemoPanel = nameof(GrowlDemoPanel);
public static readonly string GrowlDemoPanel = nameof(GrowlDemoPanel);
public static readonly string DialogDemoWindow = nameof(DialogDemoWindow);
public static readonly string DialogDemoWindow = nameof(DialogDemoWindow);
public static readonly string MainWindow = nameof(MainWindow);
public static readonly string MainWindow = nameof(MainWindow);
public static readonly string PracticalDemo = nameof(PracticalDemo);
public static readonly string PracticalDemo = nameof(PracticalDemo);
public static readonly string ProjectsView = nameof(ProjectsView);
public static readonly string ProjectsView = nameof(ProjectsView);
public static readonly string BlogsView = nameof(BlogsView);
public static readonly string BlogsView = nameof(BlogsView);
public static readonly string WebsitesView = nameof(WebsitesView);
public static readonly string WebsitesView = nameof(WebsitesView);
public static readonly string NotifyIconDemo = nameof(NotifyIconDemo);
public static readonly string NotifyIconDemo = nameof(NotifyIconDemo);
public static readonly string NotifyIconContextDemo = nameof(NotifyIconContextDemo);
public static readonly string NotifyIconContextDemo = nameof(NotifyIconContextDemo);
public static readonly string CommonWindow = nameof(CommonWindow);
public static readonly string CommonWindow = nameof(CommonWindow);
public static readonly string BlurWindow = nameof(BlurWindow);
public static readonly string BlurWindow = nameof(BlurWindow);
public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow);
public static readonly string CustomNonClientAreaWindow = nameof(CustomNonClientAreaWindow);
public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
public static readonly string NoNonClientAreaDragableWindow = nameof(NoNonClientAreaDragableWindow);
public static readonly string QQGroupView = nameof(QQGroupView);
public static readonly string QQGroupView = nameof(QQGroupView);
public static readonly string GlowWindow = nameof(GlowWindow);
public static readonly string GlowWindow = nameof(GlowWindow);
public static readonly string NativeCommonWindow = nameof(NativeCommonWindow);
public static readonly string NativeCommonWindow = nameof(NativeCommonWindow);
public static readonly string NavigationWindow = nameof(NavigationWindow);
public static readonly string NavigationWindow = nameof(NavigationWindow);
public static readonly string TouchDragMoveWindow = nameof(TouchDragMoveWindow);
public static readonly string TouchDragMoveWindow = nameof(TouchDragMoveWindow);
public static readonly string DialogContainer = nameof(DialogContainer);
public static readonly string DialogContainer = nameof(DialogContainer);
public static readonly string LangUpdated = nameof(LangUpdated);
public static readonly string LangUpdated = nameof(LangUpdated);
public static readonly string SkinUpdated = nameof(SkinUpdated);
}
}
@@ -28,7 +28,8 @@ var messageList = new List<string>
"NavigationWindow",
"TouchDragMoveWindow",
"DialogContainer",
"LangUpdated"
"LangUpdated",
"SkinUpdated"
};
#>
namespace HandyControlDemo.Data
@@ -40,4 +41,4 @@ namespace HandyControlDemo.Data
<#}#>
}
}
}
@@ -1,12 +1,11 @@
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class AvatarModel
{
public class AvatarModel
{
public string DisplayName { get; set; }
public string DisplayName { get; set; }
public string Link { get; set; }
public string Link { get; set; }
public string AvatarUri { get; set; }
}
public string AvatarUri { get; set; }
}
@@ -1,11 +1,10 @@
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class CardModel
{
public class CardModel
{
public string Header { get; set; }
public string Header { get; set; }
public string Content { get; set; }
public string Content { get; set; }
public string Footer { get; set; }
}
public string Footer { get; set; }
}
@@ -1,17 +1,16 @@
using HandyControl.Data;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public struct ChatInfoModel
{
public struct ChatInfoModel
{
public object Message { get; set; }
public object Message { get; set; }
public string SenderId { get; set; }
public string SenderId { get; set; }
public ChatRoleType Role { get; set; }
public ChatRoleType Role { get; set; }
public ChatMessageType Type { get; set; }
public ChatMessageType Type { get; set; }
public object Enclosure { get; set; }
}
public object Enclosure { get; set; }
}
@@ -1,9 +1,8 @@
namespace HandyControlDemo.Data
{
public class CoverViewDemoModel
{
public string ImgPath { get; set; }
namespace HandyControlDemo.Data;
public string BackgroundToken { get; set; }
}
public class CoverViewDemoModel
{
public string ImgPath { get; set; }
public string BackgroundToken { get; set; }
}
@@ -1,22 +1,21 @@
using System.Collections.Generic;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class DemoDataModel
{
public class DemoDataModel
{
public int Index { get; set; }
public int Index { get; set; }
public string Name { get; set; }
public string Name { get; set; }
public bool IsSelected { get; set; }
public bool IsSelected { get; set; }
public string Remark { get; set; }
public string Remark { get; set; }
public DemoType Type { get; set; }
public DemoType Type { get; set; }
public string ImgPath { get; set; }
public string ImgPath { get; set; }
public List<DemoDataModel> DataList { get; set; }
}
public List<DemoDataModel> DataList { get; set; }
}
@@ -1,38 +1,37 @@
using System.Collections.Generic;
using GalaSoft.MvvmLight;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class DemoInfoModel : ViewModelBase
{
public class DemoInfoModel : ViewModelBase
public string Key { get; set; }
private string _title;
public string Title
{
public string Key { get; set; }
private string _title;
public string Title
{
get => _title;
get => _title;
#if NET40
set => Set(nameof(Title), ref _title, value);
set => Set(nameof(Title), ref _title, value);
#else
set => Set(ref _title, value);
set => Set(ref _title, value);
#endif
}
private int _selectedIndex;
public int SelectedIndex
{
get => _selectedIndex;
#if NET40
set => Set(nameof(SelectedIndex), ref _selectedIndex, value);
#else
set => Set(ref _selectedIndex, value);
#endif
}
public bool IsGroupEnabled { get; set; }
public IList<DemoItemModel> DemoItemList { get; set; }
}
private int _selectedIndex;
public int SelectedIndex
{
get => _selectedIndex;
#if NET40
set => Set(nameof(SelectedIndex), ref _selectedIndex, value);
#else
set => Set(ref _selectedIndex, value);
#endif
}
public bool IsGroupEnabled { get; set; }
public IList<DemoItemModel> DemoItemList { get; set; }
}
@@ -1,29 +1,39 @@
using GalaSoft.MvvmLight;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class DemoItemModel : ObservableObject
{
public class DemoItemModel : ObservableObject
private bool _isVisible = true;
private string _queriesText = string.Empty;
public string Name { get; set; }
public string GroupName { get; set; }
public string TargetCtlName { get; set; }
public object ImageBrush { get; set; }
public bool IsNew { get; set; }
public string QueriesText
{
public string Name { get; set; }
public string GroupName { get; set; }
public string TargetCtlName { get; set; }
public string ImageName { get; set; }
public bool IsNew { get; set; }
private bool _isVisible = true;
public bool IsVisible
{
get => _isVisible;
get => _queriesText;
#if NET40
set => Set(nameof(IsVisible), ref _isVisible, value);
set => Set(nameof(QueriesText), ref _queriesText, value);
#else
set => Set(ref _isVisible, value);
set => Set(ref _queriesText, value);
#endif
}
public bool IsVisible
{
get => _isVisible;
#if NET40
set => Set(nameof(IsVisible), ref _isVisible, value);
#else
set => Set(ref _isVisible, value);
#endif
}
}
}
@@ -1,13 +1,12 @@
using System.Windows.Media;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class GeometryItemModel
{
public class GeometryItemModel
{
public Geometry Data { get; set; }
public Geometry Data { get; set; }
public string Key { get; set; }
public string Key { get; set; }
public bool Line { get; set; }
}
public bool Line { get; set; }
}
@@ -2,32 +2,31 @@
using System.Windows;
using System.Windows.Media;
namespace HandyControlDemo.Data
namespace HandyControlDemo.Data;
public class PropertyGridDemoModel
{
public class PropertyGridDemoModel
{
[Category("Category1")]
public string String { get; set; }
[Category("Category1")]
public string String { get; set; }
[Category("Category2")]
public int Integer { get; set; }
[Category("Category2")]
public int Integer { get; set; }
[Category("Category2")]
public bool Boolean { get; set; }
[Category("Category2")]
public bool Boolean { get; set; }
[Category("Category1")]
public Gender Enum { get; set; }
[Category("Category1")]
public Gender Enum { get; set; }
public HorizontalAlignment HorizontalAlignment { get; set; }
public HorizontalAlignment HorizontalAlignment { get; set; }
public VerticalAlignment VerticalAlignment { get; set; }
public VerticalAlignment VerticalAlignment { get; set; }
public ImageSource ImageSource { get; set; }
}
public ImageSource ImageSource { get; set; }
}
public enum Gender
{
Male,
Female
}
public enum Gender
{
Male,
Female
}
@@ -1,9 +1,8 @@
namespace HandyControlDemo.Data
{
public class StepBarDemoModel
{
public string Header { get; set; }
namespace HandyControlDemo.Data;
public string Content { get; set; }
}
public class StepBarDemoModel
{
public string Header { get; set; }
public string Content { get; set; }
}
@@ -1,9 +1,8 @@
namespace HandyControlDemo.Data
{
public class TabControlDemoModel
{
public string Header { get; set; }
namespace HandyControlDemo.Data;
public string BackgroundToken { get; set; }
}
public class TabControlDemoModel
{
public string Header { get; set; }
public string BackgroundToken { get; set; }
}
@@ -40,6 +40,8 @@
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\AssemblyHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\VersionHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\Helper\Win32Helper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\HighlightingProvider.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Tools\ValidationRule\NumericUpDownDemoRule.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Basic\Avatar.xaml.cs">
<DependentUpon>Avatar.xaml</DependentUpon>
</Compile>
@@ -59,6 +61,12 @@
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Basic\TextDialogWithTimer.xaml.cs">
<DependentUpon>TextDialogWithTimer.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Controls\AutoCompleteTextBoxDemoCtl.xaml.cs">
<DependentUpon>AutoCompleteTextBoxDemoCtl.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Controls\ElementGroupDemoCtl.xaml.cs">
<DependentUpon>ElementGroupDemoCtl.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Controls\FlexPanelDemoCtl.xaml.cs">
<DependentUpon>FlexPanelDemoCtl.xaml</DependentUpon>
</Compile>
@@ -257,6 +265,9 @@
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Controls\UniformSpacingPanelDemoCtl.xaml.cs">
<DependentUpon>UniformSpacingPanelDemoCtl.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Controls\WatermarkDemoCtl.xaml.cs">
<DependentUpon>WatermarkDemoCtl.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Controls\WaterfallPanelDemoCtl.xaml.cs">
<DependentUpon>WaterfallPanelDemoCtl.xaml</DependentUpon>
</Compile>
@@ -290,9 +301,6 @@
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\MainContent.xaml.cs">
<DependentUpon>MainContent.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\QQGroupView.xaml.cs">
<DependentUpon>QQGroupView.xaml</DependentUpon>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)UserControl\Main\UnderConstruction.xaml.cs">
<DependentUpon>UnderConstruction.xaml</DependentUpon>
</Compile>
@@ -406,7 +414,7 @@
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Basic\ChatBoxViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Basic\InteractiveDialogViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Common\ComboBoxDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\AutoCompleteTextBoxDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\BadgeDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\CardDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\CoverViewModel.cs" />
@@ -416,15 +424,15 @@
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\NotificationDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\NotifyIconDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\PaginationDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SearchBarDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SideMenuDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SplitButtonDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\SpriteDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\StepBarDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\TabControlDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\TagDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Common\InputElementDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Controls\WindowDemoViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\DemoViewModelBase!1.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\DemoViewModelBase`1.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Main\ItemsDisplayViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Main\MainViewModel.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ViewModel\Main\NonClientAreaViewModel.cs" />
@@ -539,6 +547,14 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Controls\AutoCompleteTextBoxDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Controls\ElementGroupDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Controls\FlexPanelDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -803,6 +819,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Controls\WatermarkDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Controls\WaterfallPanelDemoCtl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -847,10 +867,6 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Main\QQGroupView.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="$(MSBuildThisFileDirectory)UserControl\Main\UnderConstruction.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1057,4 +1073,7 @@
<ItemGroup>
<Folder Include="$(MSBuildThisFileDirectory)Service\Data\" />
</ItemGroup>
<ItemGroup>
<None Include="$(MSBuildThisFileDirectory)app.manifest" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
<hc:GlowWindow 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"
@@ -7,13 +7,13 @@
mc:Ignorable="d"
Title="HandyControlDemo"
ShowTitle="False"
Style="{StaticResource WindowGlow}"
Style="{StaticResource WindowWin10}"
Background="{DynamicResource SecondaryRegionBrush}"
ActiveGlowColor="{DynamicResource PrimaryColor}"
ResizeMode="CanResizeWithGrip"
WindowStartupLocation="CenterScreen"
d:DesignHeight="800"
d:DesignWidth="1400"
d:DesignWidth="1400"
hc:Empty.ShowEmpty="True"
Icon="/HandyControlDemo;component/Resources/Img/icon.ico">
<ContentControl Name="ControlMain"/>
</hc:GlowWindow>
</hc:Window>
@@ -10,45 +10,46 @@ using HandyControlDemo.Tools;
using HandyControlDemo.UserControl;
using HandyControlDemo.ViewModel;
namespace HandyControlDemo
namespace HandyControlDemo;
public partial class MainWindow
{
public partial class MainWindow
public MainWindow() => InitializeComponent();
protected override void OnContentRendered(EventArgs e)
{
public MainWindow() => InitializeComponent();
base.OnContentRendered(e);
protected override void OnContentRendered(EventArgs e)
DataContext = ViewModelLocator.Instance.Main;
NonClientAreaContent = new NonClientAreaContent();
ControlMain.Content = new MainWindowContent();
GlobalShortcut.Init(new List<KeyBinding>
{
base.OnContentRendered(e);
new(ViewModelLocator.Instance.Main.GlobalShortcutInfoCmd, Key.I, ModifierKeys.Control | ModifierKeys.Alt),
new(ViewModelLocator.Instance.Main.GlobalShortcutWarningCmd, Key.E, ModifierKeys.Control | ModifierKeys.Alt),
new(ViewModelLocator.Instance.Main.OpenDocCmd, Key.F1, ModifierKeys.None),
new(ViewModelLocator.Instance.Main.OpenCodeCmd, Key.F12, ModifierKeys.None)
});
DataContext = ViewModelLocator.Instance.Main;
NonClientAreaContent = new NonClientAreaContent();
ControlMain.Content = new MainWindowContent();
Dialog.SetToken(this, MessageToken.MainWindow);
WindowAttach.SetIgnoreAltF4(this, true);
GlobalShortcut.Init(new List<KeyBinding>
{
new KeyBinding(ViewModelLocator.Instance.Main.GlobalShortcutInfoCmd, Key.I, ModifierKeys.Control | ModifierKeys.Alt),
new KeyBinding(ViewModelLocator.Instance.Main.GlobalShortcutWarningCmd, Key.E, ModifierKeys.Control | ModifierKeys.Alt)
});
Messenger.Default.Send(true, MessageToken.FullSwitch);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.PracticalDemo}"), MessageToken.LoadShowContent);
}
Dialog.SetToken(this, MessageToken.MainWindow);
WindowAttach.SetIgnoreAltF4(this, true);
Messenger.Default.Send(true, MessageToken.FullSwitch);
Messenger.Default.Send(AssemblyHelper.CreateInternalInstance($"UserControl.{MessageToken.PracticalDemo}"), MessageToken.LoadShowContent);
protected override void OnClosing(CancelEventArgs e)
{
if (GlobalData.NotifyIconIsShow)
{
MessageBox.Info(Properties.Langs.Lang.AppClosingTip, Properties.Langs.Lang.Tip);
Hide();
e.Cancel = true;
}
protected override void OnClosing(CancelEventArgs e)
else
{
if (GlobalData.NotifyIconIsShow)
{
MessageBox.Info(Properties.Langs.Lang.AppClosingTip, Properties.Langs.Lang.Tip);
Hide();
e.Cancel = true;
}
else
{
base.OnClosing(e);
}
base.OnClosing(e);
}
}
}
@@ -4,5 +4,6 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Langs"/>
</assemblyBinding>
<AppContextSwitchOverrides value="Switch.System.Windows.DoNotScaleForDpiChanges=false"/>
</runtime>
</configuration>
</configuration>
@@ -20,7 +20,7 @@ namespace HandyControlDemo.Properties.Langs
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Lang
@@ -124,6 +124,17 @@ namespace HandyControlDemo.Properties.Langs
}
}
/// <summary>
/// Looks up a localized string similar to 自动补全文本框.
/// </summary>
public static string AutoCompleteTextBox
{
get
{
return ResourceManager.GetString("AutoCompleteTextBox", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 标记.
/// </summary>
@@ -377,6 +388,17 @@ namespace HandyControlDemo.Properties.Langs
}
}
/// <summary>
/// Looks up a localized string similar to 关闭主窗口对话框.
/// </summary>
public static string CloseMainWindowDialog
{
get
{
return ResourceManager.GetString("CloseMainWindowDialog", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 颜色拾取器.
/// </summary>
@@ -718,6 +740,17 @@ namespace HandyControlDemo.Properties.Langs
}
}
/// <summary>
/// Looks up a localized string similar to 元素组.
/// </summary>
public static string ElementGroup
{
get
{
return ResourceManager.GetString("ElementGroup", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 邮箱.
/// </summary>
@@ -2533,6 +2566,17 @@ namespace HandyControlDemo.Properties.Langs
}
}
/// <summary>
/// Looks up a localized string similar to 水印.
/// </summary>
public static string Watermark
{
get
{
return ResourceManager.GetString("Watermark", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to 网站.
/// </summary>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -0,0 +1,810 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Controls" xml:space="preserve">
<value>Ovládací prvky</value>
</data>
<data name="Styles" xml:space="preserve">
<value>Style</value>
</data>
<data name="Growl" xml:space="preserve">
<value>Growl</value>
</data>
<data name="GrowlInfo" xml:space="preserve">
<value>Dnes je krásný den~~~</value>
</data>
<data name="GrowlSuccess" xml:space="preserve">
<value>Soubor se úspěšně uložil!</value>
</data>
<data name="GrowlWarning" xml:space="preserve">
<value>Na disku dochází místo!</value>
</data>
<data name="GrowlError" xml:space="preserve">
<value>Připojení se nezdařilo. Prosím zkontrolujte vaše síťové připojení.</value>
</data>
<data name="GrowlFatal" xml:space="preserve">
<value>Aplikace se neočekávaně ukončila~~~</value>
</data>
<data name="GrowlAsk" xml:space="preserve">
<value>Nalezena nová verze! Chcete aplikaci aktualizovat?</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Načítání</value>
</data>
<data name="ImageBrowser" xml:space="preserve">
<value>ImageBrowser</value>
</data>
<data name="ColorPicker" xml:space="preserve">
<value>ColorPicker</value>
</data>
<data name="Carousel" xml:space="preserve">
<value>Carousel</value>
</data>
<data name="CompareSlider" xml:space="preserve">
<value>CompareSlider</value>
</data>
<data name="TimeBar" xml:space="preserve">
<value>TimeBar</value>
</data>
<data name="Expander" xml:space="preserve">
<value>Expander</value>
</data>
<data name="Pagination" xml:space="preserve">
<value>Pagination</value>
</data>
<data name="OpenImageBrowser" xml:space="preserve">
<value>Klikni pro otevření prohlížeče obrázků</value>
</data>
<data name="ProgressBar" xml:space="preserve">
<value>ProgressBar</value>
</data>
<data name="AnimationPath" xml:space="preserve">
<value>AnimationPath</value>
</data>
<data name="Button" xml:space="preserve">
<value>Button</value>
</data>
<data name="ToggleButton" xml:space="preserve">
<value>ToggleButton</value>
</data>
<data name="TabControl" xml:space="preserve">
<value>TabControl</value>
</data>
<data name="CheckBox" xml:space="preserve">
<value>CheckBox</value>
</data>
<data name="TextBlock" xml:space="preserve">
<value>TextBlock</value>
</data>
<data name="Default" xml:space="preserve">
<value>Default</value>
</data>
<data name="Primary" xml:space="preserve">
<value>Primary</value>
</data>
<data name="Info" xml:space="preserve">
<value>Info</value>
</data>
<data name="Warning" xml:space="preserve">
<value>Warning</value>
</data>
<data name="Danger" xml:space="preserve">
<value>Danger</value>
</data>
<data name="ButtonCustom" xml:space="preserve">
<value>Custom button</value>
</data>
<data name="Title" xml:space="preserve">
<value>Titulek</value>
</data>
<data name="StepBar" xml:space="preserve">
<value>StepBar</value>
</data>
<data name="Prev" xml:space="preserve">
<value>Předchozí</value>
</data>
<data name="Next" xml:space="preserve">
<value>Další</value>
</data>
<data name="Register" xml:space="preserve">
<value>Registrovat</value>
</data>
<data name="BasicInfo" xml:space="preserve">
<value>Vyplňte základní údaje</value>
</data>
<data name="UploadFile" xml:space="preserve">
<value>Nahraj soubor</value>
</data>
<data name="Complete" xml:space="preserve">
<value>Complete</value>
</data>
<data name="Clock" xml:space="preserve">
<value>Clock</value>
</data>
<data name="Calendar" xml:space="preserve">
<value>Calendar</value>
</data>
<data name="DatePicker" xml:space="preserve">
<value>DatePicker</value>
</data>
<data name="TimePicker" xml:space="preserve">
<value>TimePicker</value>
</data>
<data name="TextBox" xml:space="preserve">
<value>TextBox</value>
</data>
<data name="ContentDemoStr" xml:space="preserve">
<value>Toto je obsah</value>
</data>
<data name="TitleDemoStr1" xml:space="preserve">
<value>Toto je titulek</value>
</data>
<data name="TitleDemoStr2" xml:space="preserve">
<value>Toto pole musí být vyplněno</value>
</data>
<data name="PlsEnterContent" xml:space="preserve">
<value>Zadej obsah</value>
</data>
<data name="TitleDemoStr3" xml:space="preserve">
<value>Titulek vlevo</value>
</data>
<data name="Text" xml:space="preserve">
<value>Text</value>
</data>
<data name="SubTitle" xml:space="preserve">
<value>Podtitulek</value>
</data>
<data name="PasswordBox" xml:space="preserve">
<value>PasswordBox</value>
</data>
<data name="CirclePanel" xml:space="preserve">
<value>CirclePanel</value>
</data>
<data name="ComboBox" xml:space="preserve">
<value>ComboBox</value>
</data>
<data name="NumericUpDown" xml:space="preserve">
<value>NumericUpDown</value>
</data>
<data name="DataGrid" xml:space="preserve">
<value>DataGrid</value>
</data>
<data name="Index" xml:space="preserve">
<value>ID</value>
</data>
<data name="Name" xml:space="preserve">
<value>Název</value>
</data>
<data name="Type" xml:space="preserve">
<value>Type</value>
</data>
<data name="Remark" xml:space="preserve">
<value>Remark</value>
</data>
<data name="Selected" xml:space="preserve">
<value>Vybrané</value>
</data>
<data name="ListBox" xml:space="preserve">
<value>ListBox</value>
</data>
<data name="TreeView" xml:space="preserve">
<value>TreeView</value>
</data>
<data name="ScrollViewer" xml:space="preserve">
<value>ScrollViewer</value>
</data>
<data name="Window" xml:space="preserve">
<value>Window</value>
</data>
<data name="Menu" xml:space="preserve">
<value>Menu</value>
</data>
<data name="RightClickHere" xml:space="preserve">
<value>Klikni pravým tlačítkem myši</value>
</data>
<data name="RadioButton" xml:space="preserve">
<value>RadioButton</value>
</data>
<data name="OpenMessageWindow" xml:space="preserve">
<value>otevřít message window</value>
</data>
<data name="OpenCommonWindow" xml:space="preserve">
<value>otevři vlastní window</value>
</data>
<data name="OpenCustomNonClientAreaWindow" xml:space="preserve">
<value>otevři vlastní Non-client Area window</value>
</data>
<data name="OpenMouseFollowWindow" xml:space="preserve">
<value>otevřít mouse follow window</value>
</data>
<data name="OpenCustomContentWindow" xml:space="preserve">
<value>otevři vlastní content window</value>
</data>
<data name="Ignore" xml:space="preserve">
<value>Ignorovat</value>
</data>
<data name="Error" xml:space="preserve">
<value>Error</value>
</data>
<data name="Ask" xml:space="preserve">
<value>Ask</value>
</data>
<data name="Fatal" xml:space="preserve">
<value>Fatal</value>
</data>
<data name="Clear" xml:space="preserve">
<value>Clear</value>
</data>
<data name="ChangeLangAsk" xml:space="preserve">
<value>Chcete pro změnu jazyka aplikaci znovu spustit?</value>
</data>
<data name="About" xml:space="preserve">
<value>Informace</value>
</data>
<data name="Repository" xml:space="preserve">
<value>Repozitář</value>
</data>
<data name="Email" xml:space="preserve">
<value>Email</value>
</data>
<data name="Chatroom" xml:space="preserve">
<value>Chatroom</value>
</data>
<data name="Blog" xml:space="preserve">
<value>Blog</value>
</data>
<data name="Brush" xml:space="preserve">
<value>Brush</value>
</data>
<data name="PreviewSlider" xml:space="preserve">
<value>PreviewSlider</value>
</data>
<data name="Contributors" xml:space="preserve">
<value>Přispěvatelé</value>
</data>
<data name="Slider" xml:space="preserve">
<value>Slider</value>
</data>
<data name="IsNotPhone" xml:space="preserve">
<value>Toto není číslo telefonu</value>
</data>
<data name="PlsEnterEmail" xml:space="preserve">
<value>Zadej e-mail</value>
</data>
<data name="Step" xml:space="preserve">
<value>Krok</value>
</data>
<data name="CalendarWithClock" xml:space="preserve">
<value>CalendarWithClock</value>
</data>
<data name="DateTimePicker" xml:space="preserve">
<value>DateTimePicker</value>
</data>
<data name="GroupBox" xml:space="preserve">
<value>GroupBox</value>
</data>
<data name="ListView" xml:space="preserve">
<value>ListView</value>
</data>
<data name="RichTextBox" xml:space="preserve">
<value>RichTextBox</value>
</data>
<data name="ToolBar" xml:space="preserve">
<value>ToolBar</value>
</data>
<data name="Common" xml:space="preserve">
<value>Common</value>
</data>
<data name="ShowRowNumber" xml:space="preserve">
<value>Zobrazit číslo řádku</value>
</data>
<data name="SearchBar" xml:space="preserve">
<value>SearchBar</value>
</data>
<data name="Tag" xml:space="preserve">
<value>Tag</value>
</data>
<data name="GifImage" xml:space="preserve">
<value>GifImage</value>
</data>
<data name="OutlineText" xml:space="preserve">
<value>OutlineText</value>
</data>
<data name="QQGroup" xml:space="preserve">
<value>Skupina QQ</value>
</data>
<data name="FlipClock" xml:space="preserve">
<value>FlipClock</value>
</data>
<data name="OpenBlurWindow" xml:space="preserve">
<value>Otevři BlurWindow</value>
</data>
<data name="Rate" xml:space="preserve">
<value>Rate</value>
</data>
<data name="Shield" xml:space="preserve">
<value>Shield</value>
</data>
<data name="WaterfallPanel" xml:space="preserve">
<value>WaterfallPanel</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Groups</value>
</data>
<data name="CoverView" xml:space="preserve">
<value>CoverView</value>
</data>
<data name="CoverFlow" xml:space="preserve">
<value>CoverFlow</value>
</data>
<data name="PlsEnterKey" xml:space="preserve">
<value>Zadej klíčkové slovo</value>
</data>
<data name="OpenNoNonClientAreaDragableWindow" xml:space="preserve">
<value>neotevírat Non-client Area dragable window</value>
</data>
<data name="DragHere" xml:space="preserve">
<value>Zde potáhni</value>
</data>
<data name="MessageBox" xml:space="preserve">
<value>MessageBox</value>
</data>
<data name="ProgressButton" xml:space="preserve">
<value>ProgressButton</value>
</data>
<data name="UploadStr" xml:space="preserve">
<value>Nahrát;Nahrávání</value>
</data>
<data name="OpenCustomMessageWindow" xml:space="preserve">
<value>otevři vlastní message window</value>
</data>
<data name="Transfer" xml:space="preserve">
<value>Transfer</value>
</data>
<data name="ChatBubble" xml:space="preserve">
<value>ChatBubble</value>
</data>
<data name="PushToTalk" xml:space="preserve">
<value>Klikni pro mluvení (PTT)</value>
</data>
<data name="Second" xml:space="preserve">
<value>sek.</value>
</data>
<data name="Label" xml:space="preserve">
<value>Label</value>
</data>
<data name="GotoTop" xml:space="preserve">
<value>GotoTop</value>
</data>
<data name="NotifyIcon" xml:space="preserve">
<value>NotifyIcon</value>
</data>
<data name="Badge" xml:space="preserve">
<value>Badge</value>
</data>
<data name="Gravatar" xml:space="preserve">
<value>Gravatar</value>
</data>
<data name="ComingSoon" xml:space="preserve">
<value>Již brzy</value>
</data>
<data name="Comment" xml:space="preserve">
<value>Comment</value>
</data>
<data name="Reply" xml:space="preserve">
<value>Odpovědět</value>
</data>
<data name="Dialog" xml:space="preserve">
<value>Dialog</value>
</data>
<data name="TextDialog" xml:space="preserve">
<value>TextDialog</value>
</data>
<data name="PleaseWait" xml:space="preserve">
<value>Počkejte prosím...</value>
</data>
<data name="GrowlDemo" xml:space="preserve">
<value>Growl demo</value>
</data>
<data name="NewWindow" xml:space="preserve">
<value>Nové okno</value>
</data>
<data name="Visibility" xml:space="preserve">
<value>Visibility</value>
</data>
<data name="Blink" xml:space="preserve">
<value>Blikej</value>
</data>
<data name="Exit" xml:space="preserve">
<value>Exit</value>
</data>
<data name="OpenPanel" xml:space="preserve">
<value>Otevři Panel</value>
</data>
<data name="AppClosingTip" xml:space="preserve">
<value>Ikona na hlavním panelu je otevřená a skryje okno místo zavření programu</value>
</data>
<data name="Tip" xml:space="preserve">
<value>Nápověda</value>
</data>
<data name="Try2CloseApp" xml:space="preserve">
<value>Opravdu chcete ukončit aplikaci?</value>
</data>
<data name="InteractiveDialog" xml:space="preserve">
<value>Interaktivní dialogové okno</value>
</data>
<data name="Ok" xml:space="preserve">
<value>Ok</value>
</data>
<data name="PleaseInput" xml:space="preserve">
<value>Prosím vložte...</value>
</data>
<data name="Click2Count" xml:space="preserve">
<value>Připočti</value>
</data>
<data name="RepeatButton" xml:space="preserve">
<value>RepeatButton</value>
</data>
<data name="DialogDemo" xml:space="preserve">
<value>Ukázka dialogového okna</value>
</data>
<data name="ShowInCurrentWindow" xml:space="preserve">
<value>Zobrazit v tomto okně</value>
</data>
<data name="ShowInMainWindow" xml:space="preserve">
<value>Zobrazit v hlavním okně</value>
</data>
<data name="SideMenu" xml:space="preserve">
<value>SideMenu</value>
</data>
<data name="Grid" xml:space="preserve">
<value>Grid</value>
</data>
<data name="BasicLayout" xml:space="preserve">
<value>Základní rozložení</value>
</data>
<data name="ColumnSpacing" xml:space="preserve">
<value>Rozestupy sloupců</value>
</data>
<data name="HybridLayout" xml:space="preserve">
<value>Hybridní rozložení</value>
</data>
<data name="ColumnOffset" xml:space="preserve">
<value>Odsazení sloupců</value>
</data>
<data name="ResponsiveLayout" xml:space="preserve">
<value>Responzivní rozložení</value>
</data>
<data name="Border" xml:space="preserve">
<value>Border</value>
</data>
<data name="Poptip" xml:space="preserve">
<value>Poptip</value>
</data>
<data name="Recommendation" xml:space="preserve">
<value>Doporučení</value>
</data>
<data name="Project" xml:space="preserve">
<value>Projekt</value>
</data>
<data name="RangeSlider" xml:space="preserve">
<value>RangeSlider</value>
</data>
<data name="RelativePanel" xml:space="preserve">
<value>RelativePanel</value>
</data>
<data name="On" xml:space="preserve">
<value>Zap.</value>
</data>
<data name="Off" xml:space="preserve">
<value>Vyp.</value>
</data>
<data name="ButtonGroup" xml:space="preserve">
<value>ButtonGroup</value>
</data>
<data name="Card" xml:space="preserve">
<value>Card</value>
</data>
<data name="TextDialogWithTimer" xml:space="preserve">
<value>TextDialog s časovačem</value>
</data>
<data name="Magnifier" xml:space="preserve">
<value>Magnifier</value>
</data>
<data name="ImageBlock" xml:space="preserve">
<value>ImageBlock</value>
</data>
<data name="RunningBlock" xml:space="preserve">
<value>RunningBlock</value>
</data>
<data name="HoneycombPanel" xml:space="preserve">
<value>HoneycombPanel</value>
</data>
<data name="AddItem" xml:space="preserve">
<value>Přidat položku</value>
</data>
<data name="RemoveItem" xml:space="preserve">
<value>Smazat prvek</value>
</data>
<data name="Sprite" xml:space="preserve">
<value>Sprite</value>
</data>
<data name="OpenSprite" xml:space="preserve">
<value>Otevři Sprite</value>
</data>
<data name="Notification" xml:space="preserve">
<value>Notification</value>
</data>
<data name="SendNotification" xml:space="preserve">
<value>Poslat upozornění</value>
</data>
<data name="StaysOpen" xml:space="preserve">
<value>Nechat otevřené</value>
</data>
<data name="FloatingBlock" xml:space="preserve">
<value>FloatingBlock</value>
</data>
<data name="SplitButton" xml:space="preserve">
<value>SplitButton</value>
</data>
<data name="Tools" xml:space="preserve">
<value>Tools</value>
</data>
<data name="HatchBrushGenerator" xml:space="preserve">
<value>HatchBrushGenerator</value>
</data>
<data name="Morphing Animation" xml:space="preserve">
<value>Morphing Animation</value>
</data>
<data name="Divider" xml:space="preserve">
<value>Divider</value>
</data>
<data name="PoptipPositionStr" xml:space="preserve">
<value>top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start</value>
</data>
<data name="TransitioningContentControl" xml:space="preserve">
<value>TransitioningContentControl</value>
</data>
<data name="Drawer" xml:space="preserve">
<value>Drawer</value>
</data>
<data name="Documentation" xml:space="preserve">
<value>Dokumentace</value>
</data>
<data name="Effects" xml:space="preserve">
<value>Efekty</value>
</data>
<data name="Website" xml:space="preserve">
<value>Webová stránka</value>
</data>
<data name="Vsix" xml:space="preserve">
<value>Vsix</value>
</data>
<data name="Doc_en" xml:space="preserve">
<value>Anglická dokumentace</value>
</data>
<data name="Doc_cn" xml:space="preserve">
<value>Čínská dokumentace</value>
</data>
<data name="Demo" xml:space="preserve">
<value>Ukázka</value>
</data>
<data name="PinBox" xml:space="preserve">
<value>PinBox</value>
</data>
<data name="FlowDocumentScrollViewer" xml:space="preserve">
<value>FlowDocumentScrollViewer</value>
</data>
<data name="OpenGlowWindow" xml:space="preserve">
<value>Otevři GlowWindow</value>
</data>
<data name="FlowDocument" xml:space="preserve">
<value>FlowDocument</value>
</data>
<data name="FlowDocumentPageViewer" xml:space="preserve">
<value>FlowDocumentPageViewer</value>
</data>
<data name="FlowDocumentReader" xml:space="preserve">
<value>FlowDocumentReader</value>
</data>
<data name="OpenNativeCommonWindow" xml:space="preserve">
<value>Otevřít NativeCommonWindow</value>
</data>
<data name="OpenNavigationWindow" xml:space="preserve">
<value>Otevřít NavigationWindow</value>
</data>
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>Praktické ukázky</value>
</data>
<data name="StartScreenshot" xml:space="preserve">
<value>Udělej snímek obrazovky</value>
</data>
<data name="Screenshot" xml:space="preserve">
<value>Screenshot</value>
</data>
<data name="TextDialogInControl" xml:space="preserve">
<value>TextDialog (uvnitř ovládacího prvku)</value>
</data>
<data name="LangComment" xml:space="preserve">
<value>Hledám řetězec podobný „{0}“.</value>
</data>
<data name="PropertyGrid" xml:space="preserve">
<value>PropertyGrid</value>
</data>
<data name="ImageSelector" xml:space="preserve">
<value>ImageSelector</value>
</data>
<data name="Geometry" xml:space="preserve">
<value>Geometry</value>
</data>
<data name="CheckComboBox" xml:space="preserve">
<value>CheckComboBox</value>
</data>
<data name="FlexPanel" xml:space="preserve">
<value>FlexPanel</value>
</data>
<data name="OpenTouchDragMoveWindow" xml:space="preserve">
<value>Otevři TouchDragMoveWindow</value>
</data>
<data name="UniformSpacingPanel" xml:space="preserve">
<value>UniformSpacingPanel</value>
</data>
<data name="Misc" xml:space="preserve">
<value>Různé</value>
</data>
<data name="Interacting" xml:space="preserve">
<value>Interacting</value>
</data>
<data name="DataEntry" xml:space="preserve">
<value>Zadání dat</value>
</data>
<data name="DataDisplay" xml:space="preserve">
<value>Zobrazení dat</value>
</data>
<data name="Navigation" xml:space="preserve">
<value>Navigation</value>
</data>
<data name="Layout" xml:space="preserve">
<value>Layout</value>
</data>
<data name="Feedback" xml:space="preserve">
<value>Zpětná vazba</value>
</data>
<data name="Success" xml:space="preserve">
<value>Success</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -0,0 +1,810 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Controls" xml:space="preserve">
<value>Controles</value>
</data>
<data name="Styles" xml:space="preserve">
<value>Estilos</value>
</data>
<data name="Growl" xml:space="preserve">
<value>Growl</value>
</data>
<data name="GrowlInfo" xml:space="preserve">
<value>Hoy es un lindo día~~~</value>
</data>
<data name="GrowlSuccess" xml:space="preserve">
<value>¡Archivo guardado exitosamente!</value>
</data>
<data name="GrowlWarning" xml:space="preserve">
<value>¡No hay más espacio disponible en el disco!</value>
</data>
<data name="GrowlError" xml:space="preserve">
<value>La conexión falló. ¡Por favor revisa tu conexión a internet!</value>
</data>
<data name="GrowlFatal" xml:space="preserve">
<value>El programa se ha detenido de forma inesperada</value>
</data>
<data name="GrowlAsk" xml:space="preserve">
<value>Se ha detectado una nueva versión del programa. ¿Desea actualizarlo?</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Cargando</value>
</data>
<data name="ImageBrowser" xml:space="preserve">
<value>ImageBrowser</value>
</data>
<data name="ColorPicker" xml:space="preserve">
<value>ColorPicker</value>
</data>
<data name="Carousel" xml:space="preserve">
<value>Carousel</value>
</data>
<data name="CompareSlider" xml:space="preserve">
<value>CompareSlider</value>
</data>
<data name="TimeBar" xml:space="preserve">
<value>TimeBar</value>
</data>
<data name="Expander" xml:space="preserve">
<value>Expander</value>
</data>
<data name="Pagination" xml:space="preserve">
<value>Pagination</value>
</data>
<data name="OpenImageBrowser" xml:space="preserve">
<value>Pulse para seleccionar una imagen</value>
</data>
<data name="ProgressBar" xml:space="preserve">
<value>ProgressBar</value>
</data>
<data name="AnimationPath" xml:space="preserve">
<value>AnimationPath</value>
</data>
<data name="Button" xml:space="preserve">
<value>Button</value>
</data>
<data name="ToggleButton" xml:space="preserve">
<value>ToggleButton</value>
</data>
<data name="TabControl" xml:space="preserve">
<value>TabControl</value>
</data>
<data name="CheckBox" xml:space="preserve">
<value>CheckBox</value>
</data>
<data name="TextBlock" xml:space="preserve">
<value>TextBlock</value>
</data>
<data name="Default" xml:space="preserve">
<value>Por defecto</value>
</data>
<data name="Primary" xml:space="preserve">
<value>Primario</value>
</data>
<data name="Success" xml:space="preserve">
<value>Éxito</value>
</data>
<data name="Info" xml:space="preserve">
<value>Info</value>
</data>
<data name="Warning" xml:space="preserve">
<value>Advertencia</value>
</data>
<data name="Danger" xml:space="preserve">
<value>Error</value>
</data>
<data name="ButtonCustom" xml:space="preserve">
<value>Personalizado</value>
</data>
<data name="Title" xml:space="preserve">
<value>Título</value>
</data>
<data name="StepBar" xml:space="preserve">
<value>StepBar</value>
</data>
<data name="Prev" xml:space="preserve">
<value>Anterior</value>
</data>
<data name="Next" xml:space="preserve">
<value>Siguiente</value>
</data>
<data name="Register" xml:space="preserve">
<value>Registrarse</value>
</data>
<data name="BasicInfo" xml:space="preserve">
<value>Completar sus datos</value>
</data>
<data name="UploadFile" xml:space="preserve">
<value>Subir archivo</value>
</data>
<data name="Complete" xml:space="preserve">
<value>Completado</value>
</data>
<data name="Clock" xml:space="preserve">
<value>Reloj</value>
</data>
<data name="Calendar" xml:space="preserve">
<value>Calendario</value>
</data>
<data name="DatePicker" xml:space="preserve">
<value>DatePicker</value>
</data>
<data name="TimePicker" xml:space="preserve">
<value>TimePicker</value>
</data>
<data name="TextBox" xml:space="preserve">
<value>TextBox</value>
</data>
<data name="ContentDemoStr" xml:space="preserve">
<value>Este es el contenido</value>
</data>
<data name="TitleDemoStr1" xml:space="preserve">
<value>Este es el título</value>
</data>
<data name="TitleDemoStr2" xml:space="preserve">
<value>Este campo es obligatorio</value>
</data>
<data name="PlsEnterContent" xml:space="preserve">
<value>Por favor complete el campo</value>
</data>
<data name="TitleDemoStr3" xml:space="preserve">
<value>Este título está a la izquierda</value>
</data>
<data name="Text" xml:space="preserve">
<value>Texto</value>
</data>
<data name="SubTitle" xml:space="preserve">
<value>Subtitulo</value>
</data>
<data name="PasswordBox" xml:space="preserve">
<value>PasswordBox</value>
</data>
<data name="CirclePanel" xml:space="preserve">
<value>CirclePanel</value>
</data>
<data name="ComboBox" xml:space="preserve">
<value>ComboBox</value>
</data>
<data name="NumericUpDown" xml:space="preserve">
<value>NumericUpDown</value>
</data>
<data name="DataGrid" xml:space="preserve">
<value>DataGrid</value>
</data>
<data name="Index" xml:space="preserve">
<value>Index</value>
</data>
<data name="Name" xml:space="preserve">
<value>Name</value>
</data>
<data name="Type" xml:space="preserve">
<value>Type</value>
</data>
<data name="Remark" xml:space="preserve">
<value>Remark</value>
</data>
<data name="Selected" xml:space="preserve">
<value>Selected</value>
</data>
<data name="ListBox" xml:space="preserve">
<value>ListBox</value>
</data>
<data name="TreeView" xml:space="preserve">
<value>TreeView</value>
</data>
<data name="ScrollViewer" xml:space="preserve">
<value>ScrollViewer</value>
</data>
<data name="Window" xml:space="preserve">
<value>Window</value>
</data>
<data name="Menu" xml:space="preserve">
<value>Menu</value>
</data>
<data name="RightClickHere" xml:space="preserve">
<value>Haga click derecho</value>
</data>
<data name="RadioButton" xml:space="preserve">
<value>RadioButton</value>
</data>
<data name="OpenMessageWindow" xml:space="preserve">
<value>Abrir ventana con mensaje</value>
</data>
<data name="OpenCommonWindow" xml:space="preserve">
<value>Abrir ventana común</value>
</data>
<data name="OpenCustomNonClientAreaWindow" xml:space="preserve">
<value>Abrir ventana sin bordes personalizada</value>
</data>
<data name="OpenMouseFollowWindow" xml:space="preserve">
<value>Abrir ventana que sigue al mouse</value>
</data>
<data name="OpenCustomContentWindow" xml:space="preserve">
<value>Abrir ventana personalizada</value>
</data>
<data name="Ignore" xml:space="preserve">
<value>Ignorar</value>
</data>
<data name="Error" xml:space="preserve">
<value>Error</value>
</data>
<data name="Ask" xml:space="preserve">
<value>Pregunta</value>
</data>
<data name="Fatal" xml:space="preserve">
<value>Fatal</value>
</data>
<data name="Clear" xml:space="preserve">
<value>Borrar</value>
</data>
<data name="ChangeLangAsk" xml:space="preserve">
<value>¿Desea reiniciar para cambiar el idioma?</value>
</data>
<data name="About" xml:space="preserve">
<value>Acerca de</value>
</data>
<data name="Repository" xml:space="preserve">
<value>Repositorio</value>
</data>
<data name="Email" xml:space="preserve">
<value>Email</value>
</data>
<data name="Chatroom" xml:space="preserve">
<value>Chatroom</value>
</data>
<data name="Blog" xml:space="preserve">
<value>Blog</value>
</data>
<data name="Brush" xml:space="preserve">
<value>Brush</value>
</data>
<data name="PreviewSlider" xml:space="preserve">
<value>PreviewSlider</value>
</data>
<data name="Contributors" xml:space="preserve">
<value>Contribuyentes</value>
</data>
<data name="Slider" xml:space="preserve">
<value>Slider</value>
</data>
<data name="IsNotPhone" xml:space="preserve">
<value>Número de teléfono inválido</value>
</data>
<data name="PlsEnterEmail" xml:space="preserve">
<value>Por favor ingrese un email válido</value>
</data>
<data name="Step" xml:space="preserve">
<value>Step</value>
</data>
<data name="CalendarWithClock" xml:space="preserve">
<value>CalendarWithClock</value>
</data>
<data name="DateTimePicker" xml:space="preserve">
<value>DateTimePicker</value>
</data>
<data name="GroupBox" xml:space="preserve">
<value>GroupBox</value>
</data>
<data name="ListView" xml:space="preserve">
<value>ListView</value>
</data>
<data name="RichTextBox" xml:space="preserve">
<value>RichTextBox</value>
</data>
<data name="ToolBar" xml:space="preserve">
<value>ToolBar</value>
</data>
<data name="Common" xml:space="preserve">
<value>Common</value>
</data>
<data name="ShowRowNumber" xml:space="preserve">
<value>ShowRowNumber</value>
</data>
<data name="SearchBar" xml:space="preserve">
<value>SearchBar</value>
</data>
<data name="Tag" xml:space="preserve">
<value>Tag</value>
</data>
<data name="GifImage" xml:space="preserve">
<value>GifImage</value>
</data>
<data name="OutlineText" xml:space="preserve">
<value>OutlineText</value>
</data>
<data name="QQGroup" xml:space="preserve">
<value>QQ Group</value>
</data>
<data name="FlipClock" xml:space="preserve">
<value>FlipClock</value>
</data>
<data name="OpenBlurWindow" xml:space="preserve">
<value>Abrir ventana difuminada</value>
</data>
<data name="Rate" xml:space="preserve">
<value>Rate</value>
</data>
<data name="Shield" xml:space="preserve">
<value>Shield</value>
</data>
<data name="WaterfallPanel" xml:space="preserve">
<value>WaterfallPanel</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Groups</value>
</data>
<data name="CoverView" xml:space="preserve">
<value>CoverView</value>
</data>
<data name="CoverFlow" xml:space="preserve">
<value>CoverFlow</value>
</data>
<data name="PlsEnterKey" xml:space="preserve">
<value>Buscar</value>
</data>
<data name="OpenNoNonClientAreaDragableWindow" xml:space="preserve">
<value>Abrir ventana arrastrable sin bordes</value>
</data>
<data name="DragHere" xml:space="preserve">
<value>Suelte aquí</value>
</data>
<data name="MessageBox" xml:space="preserve">
<value>MessageBox</value>
</data>
<data name="ProgressButton" xml:space="preserve">
<value>ProgressButton</value>
</data>
<data name="UploadStr" xml:space="preserve">
<value>Cargar archivo;Cargando archivo</value>
</data>
<data name="OpenCustomMessageWindow" xml:space="preserve">
<value>Abrir ventana de mensaje personalizada</value>
</data>
<data name="Transfer" xml:space="preserve">
<value>Transfer</value>
</data>
<data name="ChatBubble" xml:space="preserve">
<value>ChatBubble</value>
</data>
<data name="PushToTalk" xml:space="preserve">
<value>Pulse para hablar</value>
</data>
<data name="Second" xml:space="preserve">
<value>Seg</value>
</data>
<data name="Label" xml:space="preserve">
<value>Label</value>
</data>
<data name="GotoTop" xml:space="preserve">
<value>Ir arriba</value>
</data>
<data name="NotifyIcon" xml:space="preserve">
<value>NotifyIcon</value>
</data>
<data name="Badge" xml:space="preserve">
<value>Badge</value>
</data>
<data name="Gravatar" xml:space="preserve">
<value>Gravatar</value>
</data>
<data name="ComingSoon" xml:space="preserve">
<value>Próximamente</value>
</data>
<data name="Comment" xml:space="preserve">
<value>Commentario</value>
</data>
<data name="Reply" xml:space="preserve">
<value>Respuesta</value>
</data>
<data name="Dialog" xml:space="preserve">
<value>Dialog</value>
</data>
<data name="TextDialog" xml:space="preserve">
<value>TextDialog</value>
</data>
<data name="PleaseWait" xml:space="preserve">
<value>Por favor aguarde...</value>
</data>
<data name="GrowlDemo" xml:space="preserve">
<value>Growl demo</value>
</data>
<data name="NewWindow" xml:space="preserve">
<value>Nueva ventana</value>
</data>
<data name="Visibility" xml:space="preserve">
<value>Visibility</value>
</data>
<data name="Blink" xml:space="preserve">
<value>Blink</value>
</data>
<data name="Exit" xml:space="preserve">
<value>Salir</value>
</data>
<data name="OpenPanel" xml:space="preserve">
<value>Abrir panel</value>
</data>
<data name="AppClosingTip" xml:space="preserve">
<value>El icono de la bandeja está abierto y ocultará la ventana en lugar de cerrar el programa.</value>
</data>
<data name="Tip" xml:space="preserve">
<value>Prompt</value>
</data>
<data name="Try2CloseApp" xml:space="preserve">
<value>¿Intentar cerrar la aplicación?</value>
</data>
<data name="InteractiveDialog" xml:space="preserve">
<value>Diálogo interactivo</value>
</data>
<data name="Ok" xml:space="preserve">
<value>Aceptar</value>
</data>
<data name="PleaseInput" xml:space="preserve">
<value>Por favor ingrese un texto...</value>
</data>
<data name="Click2Count" xml:space="preserve">
<value>Click para incrementar</value>
</data>
<data name="RepeatButton" xml:space="preserve">
<value>RepeatButton</value>
</data>
<data name="DialogDemo" xml:space="preserve">
<value>Dialog demo</value>
</data>
<data name="ShowInCurrentWindow" xml:space="preserve">
<value>Mostrar en esta ventana</value>
</data>
<data name="ShowInMainWindow" xml:space="preserve">
<value>Mostrar en la ventana principal</value>
</data>
<data name="SideMenu" xml:space="preserve">
<value>SideMenu</value>
</data>
<data name="Grid" xml:space="preserve">
<value>Grid</value>
</data>
<data name="BasicLayout" xml:space="preserve">
<value>Layout básico</value>
</data>
<data name="ColumnSpacing" xml:space="preserve">
<value>Columnas espaciadas</value>
</data>
<data name="HybridLayout" xml:space="preserve">
<value>Layout Híbrido</value>
</data>
<data name="ColumnOffset" xml:space="preserve">
<value>Columnas con offset</value>
</data>
<data name="ResponsiveLayout" xml:space="preserve">
<value>Layout Responsivo</value>
</data>
<data name="Border" xml:space="preserve">
<value>Border</value>
</data>
<data name="Poptip" xml:space="preserve">
<value>Poptip</value>
</data>
<data name="Recommendation" xml:space="preserve">
<value>Recommendation</value>
</data>
<data name="Project" xml:space="preserve">
<value>Project</value>
</data>
<data name="RangeSlider" xml:space="preserve">
<value>RangeSlider</value>
</data>
<data name="RelativePanel" xml:space="preserve">
<value>RelativePanel</value>
</data>
<data name="On" xml:space="preserve">
<value>On</value>
</data>
<data name="Off" xml:space="preserve">
<value>Off</value>
</data>
<data name="ButtonGroup" xml:space="preserve">
<value>ButtonGroup</value>
</data>
<data name="Card" xml:space="preserve">
<value>Card</value>
</data>
<data name="TextDialogWithTimer" xml:space="preserve">
<value>TextDialog with timer</value>
</data>
<data name="Magnifier" xml:space="preserve">
<value>Magnifier</value>
</data>
<data name="ImageBlock" xml:space="preserve">
<value>ImageBlock</value>
</data>
<data name="RunningBlock" xml:space="preserve">
<value>RunningBlock</value>
</data>
<data name="HoneycombPanel" xml:space="preserve">
<value>HoneycombPanel</value>
</data>
<data name="AddItem" xml:space="preserve">
<value>Add an item</value>
</data>
<data name="RemoveItem" xml:space="preserve">
<value>Remove an item</value>
</data>
<data name="Sprite" xml:space="preserve">
<value>Sprite</value>
</data>
<data name="OpenSprite" xml:space="preserve">
<value>Abrir sprite</value>
</data>
<data name="Notification" xml:space="preserve">
<value>Notification</value>
</data>
<data name="SendNotification" xml:space="preserve">
<value>Enviar notificación</value>
</data>
<data name="StaysOpen" xml:space="preserve">
<value>Permance abierto</value>
</data>
<data name="FloatingBlock" xml:space="preserve">
<value>FloatingBlock</value>
</data>
<data name="SplitButton" xml:space="preserve">
<value>SplitButton</value>
</data>
<data name="Tools" xml:space="preserve">
<value>Herramientas</value>
</data>
<data name="HatchBrushGenerator" xml:space="preserve">
<value>HatchBrushGenerator</value>
</data>
<data name="Morphing Animation" xml:space="preserve">
<value>Morphing Animation</value>
</data>
<data name="Divider" xml:space="preserve">
<value>Divider</value>
</data>
<data name="PoptipPositionStr" xml:space="preserve">
<value>top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start</value>
</data>
<data name="TransitioningContentControl" xml:space="preserve">
<value>TransitioningContentControl</value>
</data>
<data name="Drawer" xml:space="preserve">
<value>Drawer</value>
</data>
<data name="Documentation" xml:space="preserve">
<value>Documentación</value>
</data>
<data name="Effects" xml:space="preserve">
<value>Effects</value>
</data>
<data name="Website" xml:space="preserve">
<value>Sitio Web</value>
</data>
<data name="Vsix" xml:space="preserve">
<value>Vsix</value>
</data>
<data name="Doc_en" xml:space="preserve">
<value>Documentación en Inglés</value>
</data>
<data name="Doc_cn" xml:space="preserve">
<value>Documentación en Chino</value>
</data>
<data name="Demo" xml:space="preserve">
<value>Demo</value>
</data>
<data name="PinBox" xml:space="preserve">
<value>PinBox</value>
</data>
<data name="FlowDocumentScrollViewer" xml:space="preserve">
<value>FlowDocumentScrollViewer</value>
</data>
<data name="OpenGlowWindow" xml:space="preserve">
<value>Abrir glowWindow</value>
</data>
<data name="FlowDocument" xml:space="preserve">
<value>FlowDocument</value>
</data>
<data name="FlowDocumentPageViewer" xml:space="preserve">
<value>FlowDocumentPageViewer</value>
</data>
<data name="FlowDocumentReader" xml:space="preserve">
<value>FlowDocumentReader</value>
</data>
<data name="OpenNativeCommonWindow" xml:space="preserve">
<value>Abrir ventana común nativa</value>
</data>
<data name="OpenNavigationWindow" xml:space="preserve">
<value>Abrir ventana de navegación</value>
</data>
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>Ejemplos</value>
</data>
<data name="StartScreenshot" xml:space="preserve">
<value>Iniciar Captura de Pantalla</value>
</data>
<data name="Screenshot" xml:space="preserve">
<value>Captura de Pantalla</value>
</data>
<data name="TextDialogInControl" xml:space="preserve">
<value>TextDialog(In control)</value>
</data>
<data name="LangComment" xml:space="preserve">
<value>Looks up a localized string similar to "{0}".</value>
</data>
<data name="PropertyGrid" xml:space="preserve">
<value>PropertyGrid</value>
</data>
<data name="ImageSelector" xml:space="preserve">
<value>ImageSelector</value>
</data>
<data name="Geometry" xml:space="preserve">
<value>Geometry</value>
</data>
<data name="CheckComboBox" xml:space="preserve">
<value>CheckComboBox</value>
</data>
<data name="FlexPanel" xml:space="preserve">
<value>FlexPanel</value>
</data>
<data name="OpenTouchDragMoveWindow" xml:space="preserve">
<value>Abrir ventana TouchDragMove</value>
</data>
<data name="UniformSpacingPanel" xml:space="preserve">
<value>UniformSpacingPanel</value>
</data>
<data name="Misc" xml:space="preserve">
<value>Misc</value>
</data>
<data name="Interacting" xml:space="preserve">
<value>Interactuando</value>
</data>
<data name="DataEntry" xml:space="preserve">
<value>Datos de entrada</value>
</data>
<data name="DataDisplay" xml:space="preserve">
<value>Data de visualización</value>
</data>
<data name="Navigation" xml:space="preserve">
<value>Navegación</value>
</data>
<data name="Layout" xml:space="preserve">
<value>Layout</value>
</data>
<data name="Feedback" xml:space="preserve">
<value>Feedback</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -0,0 +1,810 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Controls" xml:space="preserve">
<value>コントロール</value>
</data>
<data name="Styles" xml:space="preserve">
<value>スタイル</value>
</data>
<data name="Growl" xml:space="preserve">
<value>Growl</value>
</data>
<data name="GrowlInfo" xml:space="preserve">
<value>It's a nice day today~~~</value>
</data>
<data name="GrowlSuccess" xml:space="preserve">
<value>File saved successfully!</value>
</data>
<data name="GrowlWarning" xml:space="preserve">
<value>Disk space is running out!</value>
</data>
<data name="GrowlError" xml:space="preserve">
<value>接続できません。ネットワーク接続を確認してください!</value>
</data>
<data name="GrowlFatal" xml:space="preserve">
<value>The program has crashed~~~</value>
</data>
<data name="GrowlAsk" xml:space="preserve">
<value>新しいバージョンがあります!アップデートしますか?</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Loading</value>
</data>
<data name="ImageBrowser" xml:space="preserve">
<value>ImageBrowser</value>
</data>
<data name="ColorPicker" xml:space="preserve">
<value>ColorPicker</value>
</data>
<data name="Carousel" xml:space="preserve">
<value>Carousel</value>
</data>
<data name="CompareSlider" xml:space="preserve">
<value>CompareSlider</value>
</data>
<data name="TimeBar" xml:space="preserve">
<value>TimeBar</value>
</data>
<data name="Expander" xml:space="preserve">
<value>Expander</value>
</data>
<data name="Pagination" xml:space="preserve">
<value>Pagination</value>
</data>
<data name="OpenImageBrowser" xml:space="preserve">
<value>画像ブラウザを開く</value>
</data>
<data name="ProgressBar" xml:space="preserve">
<value>ProgressBar</value>
</data>
<data name="AnimationPath" xml:space="preserve">
<value>AnimationPath</value>
</data>
<data name="Button" xml:space="preserve">
<value>Button</value>
</data>
<data name="ToggleButton" xml:space="preserve">
<value>ToggleButton</value>
</data>
<data name="TabControl" xml:space="preserve">
<value>TabControl</value>
</data>
<data name="CheckBox" xml:space="preserve">
<value>CheckBox</value>
</data>
<data name="TextBlock" xml:space="preserve">
<value>TextBlock</value>
</data>
<data name="Default" xml:space="preserve">
<value>Default</value>
</data>
<data name="Primary" xml:space="preserve">
<value>Primary</value>
</data>
<data name="Success" xml:space="preserve">
<value>Success</value>
</data>
<data name="Info" xml:space="preserve">
<value>Info</value>
</data>
<data name="Warning" xml:space="preserve">
<value>Warning</value>
</data>
<data name="Danger" xml:space="preserve">
<value>Danger</value>
</data>
<data name="ButtonCustom" xml:space="preserve">
<value>Custom button</value>
</data>
<data name="Title" xml:space="preserve">
<value>タイトル</value>
</data>
<data name="StepBar" xml:space="preserve">
<value>StepBar</value>
</data>
<data name="Prev" xml:space="preserve">
<value>Prev</value>
</data>
<data name="Next" xml:space="preserve">
<value>Next</value>
</data>
<data name="Register" xml:space="preserve">
<value>Register</value>
</data>
<data name="BasicInfo" xml:space="preserve">
<value>Fill in the basic information</value>
</data>
<data name="UploadFile" xml:space="preserve">
<value>Upload file</value>
</data>
<data name="Complete" xml:space="preserve">
<value>Complete</value>
</data>
<data name="Clock" xml:space="preserve">
<value>Clock</value>
</data>
<data name="Calendar" xml:space="preserve">
<value>Calendar</value>
</data>
<data name="DatePicker" xml:space="preserve">
<value>DatePicker</value>
</data>
<data name="TimePicker" xml:space="preserve">
<value>TimePicker</value>
</data>
<data name="TextBox" xml:space="preserve">
<value>TextBox</value>
</data>
<data name="ContentDemoStr" xml:space="preserve">
<value>ここはコンテンツ</value>
</data>
<data name="TitleDemoStr1" xml:space="preserve">
<value>ここはタイトル</value>
</data>
<data name="TitleDemoStr2" xml:space="preserve">
<value>ここは入力必須</value>
</data>
<data name="PlsEnterContent" xml:space="preserve">
<value>内容を入力</value>
</data>
<data name="TitleDemoStr3" xml:space="preserve">
<value>左寄せタイトル</value>
</data>
<data name="Text" xml:space="preserve">
<value>テキスト</value>
</data>
<data name="SubTitle" xml:space="preserve">
<value>サブタイトル</value>
</data>
<data name="PasswordBox" xml:space="preserve">
<value>PasswordBox</value>
</data>
<data name="CirclePanel" xml:space="preserve">
<value>CirclePanel</value>
</data>
<data name="ComboBox" xml:space="preserve">
<value>ComboBox</value>
</data>
<data name="NumericUpDown" xml:space="preserve">
<value>NumericUpDown</value>
</data>
<data name="DataGrid" xml:space="preserve">
<value>DataGrid</value>
</data>
<data name="Index" xml:space="preserve">
<value>インデックス</value>
</data>
<data name="Name" xml:space="preserve">
<value>名前</value>
</data>
<data name="Type" xml:space="preserve">
<value>種類</value>
</data>
<data name="Remark" xml:space="preserve">
<value>注記</value>
</data>
<data name="Selected" xml:space="preserve">
<value>選択</value>
</data>
<data name="ListBox" xml:space="preserve">
<value>ListBox</value>
</data>
<data name="TreeView" xml:space="preserve">
<value>TreeView</value>
</data>
<data name="ScrollViewer" xml:space="preserve">
<value>ScrollViewer</value>
</data>
<data name="Window" xml:space="preserve">
<value>Window</value>
</data>
<data name="Menu" xml:space="preserve">
<value>Menu</value>
</data>
<data name="RightClickHere" xml:space="preserve">
<value>ここを右クリック</value>
</data>
<data name="RadioButton" xml:space="preserve">
<value>RadioButton</value>
</data>
<data name="OpenMessageWindow" xml:space="preserve">
<value>メッセージウインドウを開く</value>
</data>
<data name="OpenCommonWindow" xml:space="preserve">
<value>通常のウインドウを開く</value>
</data>
<data name="OpenCustomNonClientAreaWindow" xml:space="preserve">
<value>カスタム非クライアント領域ウインドウを開く</value>
</data>
<data name="OpenMouseFollowWindow" xml:space="preserve">
<value>マウス位置にウインドウを開く</value>
</data>
<data name="OpenCustomContentWindow" xml:space="preserve">
<value>カスタムコンテンツウインドウを開く</value>
</data>
<data name="Ignore" xml:space="preserve">
<value>Ignore</value>
</data>
<data name="Error" xml:space="preserve">
<value>Error</value>
</data>
<data name="Ask" xml:space="preserve">
<value>Ask</value>
</data>
<data name="Fatal" xml:space="preserve">
<value>Fatal</value>
</data>
<data name="Clear" xml:space="preserve">
<value>Clear</value>
</data>
<data name="ChangeLangAsk" xml:space="preserve">
<value>Whether to restart to change the language?</value>
</data>
<data name="About" xml:space="preserve">
<value>情報</value>
</data>
<data name="Repository" xml:space="preserve">
<value>リポジトリ</value>
</data>
<data name="Email" xml:space="preserve">
<value>Eメール</value>
</data>
<data name="Chatroom" xml:space="preserve">
<value>チャットルーム</value>
</data>
<data name="Blog" xml:space="preserve">
<value>ブログ</value>
</data>
<data name="Brush" xml:space="preserve">
<value>Brush</value>
</data>
<data name="PreviewSlider" xml:space="preserve">
<value>PreviewSlider</value>
</data>
<data name="Contributors" xml:space="preserve">
<value>貢献者</value>
</data>
<data name="Slider" xml:space="preserve">
<value>Slider</value>
</data>
<data name="IsNotPhone" xml:space="preserve">
<value>It's not a phone number</value>
</data>
<data name="PlsEnterEmail" xml:space="preserve">
<value>Eメールアドレスを入力</value>
</data>
<data name="Step" xml:space="preserve">
<value>Step</value>
</data>
<data name="CalendarWithClock" xml:space="preserve">
<value>CalendarWithClock</value>
</data>
<data name="DateTimePicker" xml:space="preserve">
<value>DateTimePicker</value>
</data>
<data name="GroupBox" xml:space="preserve">
<value>GroupBox</value>
</data>
<data name="ListView" xml:space="preserve">
<value>ListView</value>
</data>
<data name="RichTextBox" xml:space="preserve">
<value>RichTextBox</value>
</data>
<data name="ToolBar" xml:space="preserve">
<value>ToolBar</value>
</data>
<data name="Common" xml:space="preserve">
<value>通常</value>
</data>
<data name="ShowRowNumber" xml:space="preserve">
<value>行番号表示</value>
</data>
<data name="SearchBar" xml:space="preserve">
<value>SearchBar</value>
</data>
<data name="Tag" xml:space="preserve">
<value>Tag</value>
</data>
<data name="GifImage" xml:space="preserve">
<value>GifImage</value>
</data>
<data name="OutlineText" xml:space="preserve">
<value>OutlineText</value>
</data>
<data name="QQGroup" xml:space="preserve">
<value>QQ Group</value>
</data>
<data name="FlipClock" xml:space="preserve">
<value>FlipClock</value>
</data>
<data name="OpenBlurWindow" xml:space="preserve">
<value>BlurWindowを開く</value>
</data>
<data name="Rate" xml:space="preserve">
<value>Rate</value>
</data>
<data name="Shield" xml:space="preserve">
<value>Shield</value>
</data>
<data name="WaterfallPanel" xml:space="preserve">
<value>WaterfallPanel</value>
</data>
<data name="Groups" xml:space="preserve">
<value>Groups</value>
</data>
<data name="CoverView" xml:space="preserve">
<value>CoverView</value>
</data>
<data name="CoverFlow" xml:space="preserve">
<value>CoverFlow</value>
</data>
<data name="PlsEnterKey" xml:space="preserve">
<value>検索ワードを入力</value>
</data>
<data name="OpenNoNonClientAreaDragableWindow" xml:space="preserve">
<value>非クライアント領域の無いドラッグ可能ウインドウを開く</value>
</data>
<data name="DragHere" xml:space="preserve">
<value>Drag here</value>
</data>
<data name="MessageBox" xml:space="preserve">
<value>MessageBox</value>
</data>
<data name="ProgressButton" xml:space="preserve">
<value>ProgressButton</value>
</data>
<data name="UploadStr" xml:space="preserve">
<value>アップロード;アップロード中</value>
</data>
<data name="OpenCustomMessageWindow" xml:space="preserve">
<value>カスタムメッセージウインドウを開く</value>
</data>
<data name="Transfer" xml:space="preserve">
<value>Transfer</value>
</data>
<data name="ChatBubble" xml:space="preserve">
<value>ChatBubble</value>
</data>
<data name="PushToTalk" xml:space="preserve">
<value>Push to talk</value>
</data>
<data name="Second" xml:space="preserve">
<value>Sec</value>
</data>
<data name="Label" xml:space="preserve">
<value>Label</value>
</data>
<data name="GotoTop" xml:space="preserve">
<value>GotoTop</value>
</data>
<data name="NotifyIcon" xml:space="preserve">
<value>NotifyIcon</value>
</data>
<data name="Badge" xml:space="preserve">
<value>Badge</value>
</data>
<data name="Gravatar" xml:space="preserve">
<value>Gravatar</value>
</data>
<data name="ComingSoon" xml:space="preserve">
<value>近日公開</value>
</data>
<data name="Comment" xml:space="preserve">
<value>Comment</value>
</data>
<data name="Reply" xml:space="preserve">
<value>Reply</value>
</data>
<data name="Dialog" xml:space="preserve">
<value>Dialog</value>
</data>
<data name="TextDialog" xml:space="preserve">
<value>TextDialog</value>
</data>
<data name="PleaseWait" xml:space="preserve">
<value>お待ちください...</value>
</data>
<data name="GrowlDemo" xml:space="preserve">
<value>Growl デモ</value>
</data>
<data name="NewWindow" xml:space="preserve">
<value>新規ウインドウ</value>
</data>
<data name="Visibility" xml:space="preserve">
<value>表示</value>
</data>
<data name="Blink" xml:space="preserve">
<value>点滅</value>
</data>
<data name="Exit" xml:space="preserve">
<value>Exit</value>
</data>
<data name="OpenPanel" xml:space="preserve">
<value>Open Panel</value>
</data>
<data name="AppClosingTip" xml:space="preserve">
<value>The tray icon is open and will hide the window instead of closing the program</value>
</data>
<data name="Tip" xml:space="preserve">
<value>Prompt</value>
</data>
<data name="Try2CloseApp" xml:space="preserve">
<value>Try to close app?</value>
</data>
<data name="InteractiveDialog" xml:space="preserve">
<value>対話型 Dialog</value>
</data>
<data name="Ok" xml:space="preserve">
<value>Ok</value>
</data>
<data name="PleaseInput" xml:space="preserve">
<value>入力してください...</value>
</data>
<data name="Click2Count" xml:space="preserve">
<value>Click to count</value>
</data>
<data name="RepeatButton" xml:space="preserve">
<value>RepeatButton</value>
</data>
<data name="DialogDemo" xml:space="preserve">
<value>Dialog デモ</value>
</data>
<data name="ShowInCurrentWindow" xml:space="preserve">
<value>このウインドウに表示</value>
</data>
<data name="ShowInMainWindow" xml:space="preserve">
<value>メインウインドウに表示</value>
</data>
<data name="SideMenu" xml:space="preserve">
<value>SideMenu</value>
</data>
<data name="Grid" xml:space="preserve">
<value>Grid</value>
</data>
<data name="BasicLayout" xml:space="preserve">
<value>基本レイアウト</value>
</data>
<data name="ColumnSpacing" xml:space="preserve">
<value>列スペース</value>
</data>
<data name="HybridLayout" xml:space="preserve">
<value>混合レイアウト</value>
</data>
<data name="ColumnOffset" xml:space="preserve">
<value>列オフセット</value>
</data>
<data name="ResponsiveLayout" xml:space="preserve">
<value>レスポンシブレイアウト</value>
</data>
<data name="Border" xml:space="preserve">
<value>Border</value>
</data>
<data name="Poptip" xml:space="preserve">
<value>Poptip</value>
</data>
<data name="Recommendation" xml:space="preserve">
<value>おすすめ</value>
</data>
<data name="Project" xml:space="preserve">
<value>プロジェクト</value>
</data>
<data name="RangeSlider" xml:space="preserve">
<value>RangeSlider</value>
</data>
<data name="RelativePanel" xml:space="preserve">
<value>RelativePanel</value>
</data>
<data name="On" xml:space="preserve">
<value>On</value>
</data>
<data name="Off" xml:space="preserve">
<value>Off</value>
</data>
<data name="ButtonGroup" xml:space="preserve">
<value>ButtonGroup</value>
</data>
<data name="Card" xml:space="preserve">
<value>Card</value>
</data>
<data name="TextDialogWithTimer" xml:space="preserve">
<value>TextDialog, タイマーあり</value>
</data>
<data name="Magnifier" xml:space="preserve">
<value>Magnifier</value>
</data>
<data name="ImageBlock" xml:space="preserve">
<value>ImageBlock</value>
</data>
<data name="RunningBlock" xml:space="preserve">
<value>RunningBlock</value>
</data>
<data name="HoneycombPanel" xml:space="preserve">
<value>HoneycombPanel</value>
</data>
<data name="AddItem" xml:space="preserve">
<value>アイテム追加</value>
</data>
<data name="RemoveItem" xml:space="preserve">
<value>アイテム削除</value>
</data>
<data name="Sprite" xml:space="preserve">
<value>Sprite</value>
</data>
<data name="OpenSprite" xml:space="preserve">
<value>Spriteを開く</value>
</data>
<data name="Notification" xml:space="preserve">
<value>Notification</value>
</data>
<data name="SendNotification" xml:space="preserve">
<value>通知を送信</value>
</data>
<data name="StaysOpen" xml:space="preserve">
<value>開いたままにする</value>
</data>
<data name="FloatingBlock" xml:space="preserve">
<value>FloatingBlock</value>
</data>
<data name="SplitButton" xml:space="preserve">
<value>SplitButton</value>
</data>
<data name="Tools" xml:space="preserve">
<value>ツール</value>
</data>
<data name="HatchBrushGenerator" xml:space="preserve">
<value>HatchBrushGenerator</value>
</data>
<data name="Morphing Animation" xml:space="preserve">
<value>Morphing Animation</value>
</data>
<data name="Divider" xml:space="preserve">
<value>Divider</value>
</data>
<data name="PoptipPositionStr" xml:space="preserve">
<value>top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start</value>
</data>
<data name="TransitioningContentControl" xml:space="preserve">
<value>TransitioningContentControl</value>
</data>
<data name="Drawer" xml:space="preserve">
<value>Drawer</value>
</data>
<data name="Documentation" xml:space="preserve">
<value>ドキュメント</value>
</data>
<data name="Effects" xml:space="preserve">
<value>Effects</value>
</data>
<data name="Website" xml:space="preserve">
<value>ウェブサイト</value>
</data>
<data name="Vsix" xml:space="preserve">
<value>Vsix</value>
</data>
<data name="Doc_en" xml:space="preserve">
<value>英語ドキュメント</value>
</data>
<data name="Doc_cn" xml:space="preserve">
<value>中国語ドキュメント</value>
</data>
<data name="Demo" xml:space="preserve">
<value>デモ</value>
</data>
<data name="PinBox" xml:space="preserve">
<value>PinBox</value>
</data>
<data name="FlowDocumentScrollViewer" xml:space="preserve">
<value>FlowDocumentScrollViewer</value>
</data>
<data name="OpenGlowWindow" xml:space="preserve">
<value>GlowWindowを開く</value>
</data>
<data name="FlowDocument" xml:space="preserve">
<value>FlowDocument</value>
</data>
<data name="FlowDocumentPageViewer" xml:space="preserve">
<value>FlowDocumentPageViewer</value>
</data>
<data name="FlowDocumentReader" xml:space="preserve">
<value>FlowDocumentReader</value>
</data>
<data name="OpenNativeCommonWindow" xml:space="preserve">
<value>標準のウインドウを開く</value>
</data>
<data name="OpenNavigationWindow" xml:space="preserve">
<value>ナビゲーションウインドウを開く</value>
</data>
<data name="Frame" xml:space="preserve">
<value>Frame</value>
</data>
<data name="PracticalDemos" xml:space="preserve">
<value>実用例</value>
</data>
<data name="StartScreenshot" xml:space="preserve">
<value>スクリーンショット開始</value>
</data>
<data name="Screenshot" xml:space="preserve">
<value>Screenshot</value>
</data>
<data name="TextDialogInControl" xml:space="preserve">
<value>TextDialog(コントロール内)</value>
</data>
<data name="LangComment" xml:space="preserve">
<value>Looks up a localized string similar to "{0}".</value>
</data>
<data name="PropertyGrid" xml:space="preserve">
<value>PropertyGrid</value>
</data>
<data name="ImageSelector" xml:space="preserve">
<value>ImageSelector</value>
</data>
<data name="Geometry" xml:space="preserve">
<value>Geometry</value>
</data>
<data name="CheckComboBox" xml:space="preserve">
<value>CheckComboBox</value>
</data>
<data name="FlexPanel" xml:space="preserve">
<value>FlexPanel</value>
</data>
<data name="OpenTouchDragMoveWindow" xml:space="preserve">
<value>タッチ移動ウインドウを開く</value>
</data>
<data name="UniformSpacingPanel" xml:space="preserve">
<value>UniformSpacingPanel</value>
</data>
<data name="Misc" xml:space="preserve">
<value>Misc</value>
</data>
<data name="Interacting" xml:space="preserve">
<value>Interacting</value>
</data>
<data name="DataEntry" xml:space="preserve">
<value>Data Entry</value>
</data>
<data name="DataDisplay" xml:space="preserve">
<value>Data Display</value>
</data>
<data name="Navigation" xml:space="preserve">
<value>Navigation</value>
</data>
<data name="Layout" xml:space="preserve">
<value>Layout</value>
</data>
<data name="Feedback" xml:space="preserve">
<value>Feedback</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -355,7 +355,7 @@
<value>Czy uruchomić ponownie aby zmienić język?</value>
</data>
<data name="About" xml:space="preserve">
<value>Około</value>
<value>Informacje</value>
</data>
<data name="Repository" xml:space="preserve">
<value>Repozytorium</value>
@@ -517,7 +517,7 @@
<value>TextDialog</value>
</data>
<data name="PleaseWait" xml:space="preserve">
<value>Proszę czekać</value>
<value>Proszę czekać...</value>
</data>
<data name="GrowlDemo" xml:space="preserve">
<value>Growl demo</value>
@@ -792,4 +792,19 @@
<data name="Success" xml:space="preserve">
<value>Success</value>
</data>
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>空状态</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>元素组</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>自动补全文本框</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>水印</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>关闭主窗口对话框</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
@@ -795,4 +795,16 @@
<data name="Empty" xml:space="preserve">
<value>Empty</value>
</data>
<data name="ElementGroup" xml:space="preserve">
<value>ElementGroup</value>
</data>
<data name="AutoCompleteTextBox" xml:space="preserve">
<value>AutoCompleteTextBox</value>
</data>
<data name="Watermark" xml:space="preserve">
<value>Watermark</value>
</data>
<data name="CloseMainWindowDialog" xml:space="preserve">
<value>Close main window dialog</value>
</data>
</root>
File diff suppressed because it is too large. Load diff
@@ -13,8 +13,8 @@
{
langDic[item] =
@$"/// <summary>
/// {string.Format(Lang.LangComment, Lang.ResourceManager.GetString(item, Lang.Culture))}
/// </summary>";
/// {string.Format(Lang.LangComment, Lang.ResourceManager.GetString(item, Lang.Culture))}
/// </summary>";
}
#>
using System.ComponentModel;
@@ -23,62 +23,66 @@ using System.Windows;
using System.Windows.Data;
using HandyControl.Tools;
namespace HandyControlDemo.Properties.Langs
namespace HandyControlDemo.Properties.Langs;
public class LangProvider : INotifyPropertyChanged
{
public class LangProvider : INotifyPropertyChanged
internal static LangProvider Instance { get; } = ResourceHelper.GetResource<LangProvider>("DemoLangs");
private static string CultureInfoStr;
public static CultureInfo Culture
{
internal static LangProvider Instance => ResourceHelper.GetResource<LangProvider>("DemoLangs");
private static string CultureInfoStr;
public static CultureInfo Culture
get => Lang.Culture;
set
{
get => Lang.Culture;
set
{
if (value == null) return;
if (Equals(CultureInfoStr, value.EnglishName)) return;
Lang.Culture = value;
CultureInfoStr = value.EnglishName;
if (value == null) return;
if (Equals(CultureInfoStr, value.EnglishName)) return;
Lang.Culture = value;
CultureInfoStr = value.EnglishName;
Instance.UpdateLangs();
}
Instance.UpdateLangs();
}
public static string GetLang(string key) => Lang.ResourceManager.GetString(key, Culture);
public static void SetLang(DependencyObject dependencyObject, DependencyProperty dependencyProperty, string key) =>
BindingOperations.SetBinding(dependencyObject, dependencyProperty, new Binding(key)
{
Source = Instance,
Mode = BindingMode.OneWay
});
private void UpdateLangs()
{
<#foreach(var item in propertyNameList){#>
OnPropertyChanged(nameof(<#=item#>));
<#}#>
}
<#foreach(var item in propertyNameList){#>
<#=langDic[item]#>
public string <#=item#> => Lang.<#=item#>;
<#}#>
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public class LangKeys
public static string GetLang(string key)
{
return Lang.ResourceManager.GetString(key, Culture);
}
public static void SetLang(DependencyObject dependencyObject, DependencyProperty dependencyProperty, string key)
{
BindingOperations.SetBinding(dependencyObject, dependencyProperty, new Binding(key)
{
Source = Instance,
Mode = BindingMode.OneWay
});
}
private void UpdateLangs()
{
<#foreach(var item in propertyNameList){#>
<#=langDic[item]#>
public static string <#=item#> = nameof(<#=item#>);
OnPropertyChanged(nameof(<#=item#>));
<#}#>
}
}
<#foreach(var item in propertyNameList){#>
<#=langDic[item]#>
public string <#=item#> => Lang.<#=item#>;
<#}#>
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public class LangKeys
{
<#foreach(var item in propertyNameList){#>
<#=langDic[item]#>
public static string <#=item#> = nameof(<#=item#>);
<#}#>
}
@@ -4,16 +4,15 @@ using HandyControl.Data;
using HandyControl.Themes;
using HandyControl.Tools;
namespace HandyControlDemo.Resources
{
public class DemoTheme : Theme
{
public override ResourceDictionary GetSkin(SkinType skinType) =>
ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skinType);
namespace HandyControlDemo.Resources;
public override ResourceDictionary GetTheme() => new ResourceDictionary
{
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
};
}
public class DemoTheme : Theme
{
public override ResourceDictionary GetSkin(SkinType skinType) =>
ResourceHelper.GetSkin(typeof(App).Assembly, "Resources/Themes", skinType);
public override ResourceDictionary GetTheme() => new()
{
Source = new Uri("pack://application:,,,/HandyControlDemo;component/Resources/Themes/Theme.xaml")
};
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 440 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

Loaded 100 of 1325 files, more files were not shown because too many files have changed in this diff. Show more