Merge pull request #1 from HandyOrg/master

同步原作者
This commit is contained in:
yxhq authored and GitHub committed 2020-03-13 20:33:42 +08:00
commit 1abbedcbe0
371 files changed
+13623 -2980

No files matched your search

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2019 HandyOrg
Copyright (c) 2018-2020 HandyOrg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HandyControl_VS2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
@@ -1,7 +1,7 @@
<?xml version="1.0" ?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="5949c79d-eb43-4033-8b7b-9349d34512c6" Version="2.3.0" Language="en-US" Publisher="HandyOrg" />
<Identity Id="5949c79d-eb43-4033-8b7b-9349d34512c6" Version="2.4.0" Language="en-US" Publisher="HandyOrg" />
<DisplayName>HandyControl for VS2019</DisplayName>
<Description xml:space="preserve">This VSIX Project will help people initialize a HandyControl project.</Description>
<MoreInfo>https://handyorg.github.io/handycontrol</MoreInfo>
@@ -34,8 +34,8 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="HandyControl, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\HandyControl.2.3.0\lib\net47\HandyControl.dll</HintPath>
<Reference Include="HandyControl, Version=2.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\HandyControl.2.4.0\lib\net47\HandyControl.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Xaml">
@@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HandyControl_VS2019_WpfApp")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("2.3.0")]
[assembly: AssemblyFileVersion("2.3.0")]
[assembly: AssemblyVersion("2.4.0")]
[assembly: AssemblyFileVersion("2.4.0")]
+1 -1
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="HandyControl" version="2.3.0" targetFramework="net47" />
<package id="HandyControl" version="2.4.0" targetFramework="net47" />
</packages>
@@ -7,7 +7,7 @@
<RootNamespace>$safeprojectname$</RootNamespace>
<Version>1.0.0.0</Version>
<Configurations>Debug;Release</Configurations>
<Copyright>Copyright © $username$ 2018-2019</Copyright>
<Copyright>Copyright © $username$ 2018-2020</Copyright>
<FileVersion>1.0.0.0</FileVersion>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<LangVersion>latest</LangVersion>
@@ -19,6 +19,6 @@
<DefineConstants>TRACE;Core</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="HandyControl" Version="2.3.0" />
<PackageReference Include="HandyControl" Version="2.4.0" />
</ItemGroup>
</Project>
@@ -6,9 +6,9 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("HandyControl_VS2019_WpfCoreApp")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2019")]
[assembly: AssemblyCopyright("Copyright © HandyOrg 2018-2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("2.3.0")]
[assembly: AssemblyFileVersion("2.3.0")]
[assembly: AssemblyVersion("2.4.0")]
[assembly: AssemblyFileVersion("2.4.0")]
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2019 HandyOrg
Copyright (c) 2018-2020 HandyOrg
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+37 -2
View File
@@ -35,6 +35,8 @@
<a href="https://github.com/noctwolf" target="_blank"><img width="64px" src="https://avatars3.githubusercontent.com/u/21022467?s=400&v=4"></a>
<a href="https://github.com/xianyun666" target="_blank"><img width="64px" src="https://avatars1.githubusercontent.com/u/22339210?s=400&v=4"></a>
<a href="https://github.com/afunc233" target="_blank"><img width="64px" src="https://avatars1.githubusercontent.com/u/19919631?s=400&v=4"></a>
<a href="https://github.com/DinoChan" target="_blank"><img width="64px" src="https://avatars1.githubusercontent.com/u/6076257?s=400&v=4"></a>
<a href="https://github.com/MrZhangYuan" target="_blank"><img width="64px" src="https://avatars2.githubusercontent.com/u/16384123?s=400&v=4"></a>
## Backers
@@ -46,6 +48,11 @@
<a href="https://github.com/yangkang326" target="_blank"><img width="64px" src="https://avatars1.githubusercontent.com/u/51224259?s=400&v=4"></a>
<a href="https://github.com/zmrbak" target="_blank"><img width="64px" src="https://avatars3.githubusercontent.com/u/7257543?s=400&v=4"></a>
<a href="https://github.com/AFei19911012" target="_blank"><img width="64px" src="https://avatars0.githubusercontent.com/u/31465314?s=400&v=4"></a>
<a href="https://github.com/wayne2006" target="_blank"><img width="64px" src="https://avatars0.githubusercontent.com/u/21210915?s=400&v=4"></a>
<a href="https://github.com/towerDLH" target="_blank"><img width="64px" src="https://avatars1.githubusercontent.com/u/53053537?s=400&v=4"></a>
<a href="https://github.com/BluceBosen" target="_blank"><img width="64px" src="https://avatars3.githubusercontent.com/u/24750822?s=400&v=4"></a>
<a href="https://github.com/MrZhangYuan" target="_blank"><img width="64px" src="https://avatars2.githubusercontent.com/u/16384123?s=400&v=4"></a>
<a href="https://github.com/YC946586" target="_blank"><img width="64px" src="https://avatars2.githubusercontent.com/u/49895722?s=400&v=4"></a>
## Special thanks to
@@ -91,6 +98,36 @@ Step 4:enjoy coding
## Latest examples
### Screenshot
![Screenshot](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Screenshot.png)
### GooeyEffect
![GooeyEffect](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/GooeyEffect.gif)
### GlowWindow
![GlowWindow](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/GlowWindow.png)
### FlowDocumentScrollViewerStyle
![FlowDocumentScrollViewerStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/FlowDocumentScrollViewer.png)
### PinBox
![PinBox](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/PinBox.png)
## History publication
### Effects
![Effects](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Effects.png)
### RelativePanel
![RelativePanel](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/RelativePanel.png)
### Drawer
![Drawer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/Drawer.gif)
@@ -111,8 +148,6 @@ Step 4:enjoy coding
![SplitButton](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/SplitButton.png)
## History publication
### FloatingBlock
![FloatingBlock](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/FloatingBlock.gif)
+10 -2
View File
@@ -47,16 +47,24 @@ Task("Build")
var settingsCore30 = new DotNetCoreBuildSettings
{
Framework = "netcoreapp3.0",
Configuration = "Release",
Configuration = "Release-Core30",
OutputDirectory = "lib/netcoreapp3.0"
};
var settingsCore31 = new DotNetCoreBuildSettings
{
Framework = "netcoreapp3.1",
Configuration = "Release-Core31",
OutputDirectory = "lib/netcoreapp3.1"
};
MSBuild("../src/Net_40/HandyControl_Net_40/HandyControl_Net_40.csproj", settingsNet40);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet45);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet462);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet47);
MSBuild("../src/Net_GE45/HandyControl_Net_GE45/HandyControl_Net_GE45.csproj", settingsNet48);
DotNetCoreBuild("../src/Core_30/HandyControl_Core_30/HandyControl_Core_30.csproj", settingsCore30);
DotNetCoreBuild("../src/Core_GE30/HandyControl_Core_GE30/HandyControl_Core_GE30.csproj", settingsCore30);
DotNetCoreBuild("../src/Core_GE30/HandyControl_Core_GE30/HandyControl_Core_GE30.csproj", settingsCore31);
});
RunTarget(target);
+2 -2
View File
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>HandyControl</id>
<version>2.3.0</version>
<version>2.4.0</version>
<title>HandyOrg</title>
<authors>HandyOrg</authors>
<owners>HandyOrg</owners>
@@ -11,7 +11,7 @@
<iconUrl>https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/icon.png</iconUrl>
<description>Contains some commonly used simple WPF controls</description>
<releaseNotes>Changes are detailed at https://github.com/HandyOrg/HandyControl/releases</releaseNotes>
<copyright>Copyright © HandyOrg 2018-2019</copyright>
<copyright>Copyright © HandyOrg 2018-2020</copyright>
<language></language>
<tags>WPF C# Control</tags>
<repository type="git" url="https://github.com/HandyOrg/HandyControl" commit="1af8ac90f497e6c65e4d596604f89f54e21cbcc6" />
@@ -1,5 +1,19 @@
---
title: 建设中
title: PanelElement 面板元素
---
建设中
# 属性
| 名称 | 用途 |
|-|-|
| FluidMoveBehavior | 设置面板的流体移动方式 |
# 使用案例
## FluidMoveBehavior 设置面板的流体移动方式
```xml
<hc:HoneycombPanel hc:PanelElement.FluidMoveBehavior="{StaticResource BehaviorXY200}"/>
```
当向面板容器中添加或移除元素时,就可以看到流体移动的动画效果。
@@ -0,0 +1,19 @@
---
title: RectangleAttach Rectangle专用
---
# 属性
| 名称 | 用途 |
|-|-|
| CornerRadius | 设置Rectangle圆角值 |
# 使用案例
## CornerRadius 设置Rectangle圆角值
```xml
<Rectangle Fill="Red" Width="100" Height="60" hc:RectangleAttach.Circular="True"/>
```
![RectangleAttach.CornerRadius](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/attach/RectangleAttach.CornerRadius.png)
@@ -0,0 +1,21 @@
---
title: TextBlockAttach 文本块专用
---
# 属性
| 名称 | 用途 |
|-|-|
| AutoTooltip | 设置是否自动显示工具提示 |
# 使用案例
## AutoTooltip 设置是否自动显示工具提示
```xml
<hc:SimplePanel Width="100" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock hc:TextBlockAttach.AutoTooltip="True" Text="EEEEEEEEEEEEEEEEEEEE"/>
</hc:SimplePanel>
```
![TextBlockAttach.AutoTooltip](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/attach/TextBlockAttach.AutoTooltip.png)
@@ -1,5 +1,42 @@
---
title: 建设中
title: TipElement 提示元素
---
建设中
# 属性
| 名称 | 用途 |
| ---------- | -------- |
| Placement | 提示元素显示位置 |
| Visibility | 是否可见 |
# 使用案例
## Placement 提示元素显示位置
该属性,用于设定提示元素显示位置,目前支持BottomRight和TopLeft(默认值)
```
<hc:RangeSlider Width="400"
hc:TipElement.Visibility="Visible"
TickPlacement="BottomRight"
IsSnapToTickEnabled="True"
Maximum="100" ValueEnd="60"
TickFrequency="10"
Margin="0,32,0,0"/>
<hc:RangeSlider Width="400"
hc:TipElement.Visibility="Visible"
hc:TipElement.Placement="BottomRight"
TickPlacement="BottomRight"
IsSnapToTickEnabled="True"
Maximum="100" ValueEnd="60"
TickFrequency="10"
Margin="0,32,0,0"/>
```
效果
![TipElement.Default](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/attach/TipElement.Default.png)
![TipElement.TopLeft](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/attach/TipElement.TopLeft.png)
@@ -50,6 +50,14 @@ title: 转换器
该转换器需要提供一个字符串作为参数,该字符串的一般形式为:`[0/1],[0/1],[0/1],[0/1]`,4个以逗号分隔的值分别对应`CornerRadius`的`Left`、`Top`,`Right`,`Bottom`属性,当值为1则返回对应属性的值,否则返回0。
# Double2GridLengthConverter
该转换器会将`double`值转换为`GridLength`。
# DoubleMinConverter(内部使用)
可以向该转换器提供一个字符串作为最小值(如果不提供,则最小值默认为0),当传入的值小于最小值时,返回最小值,否则返回传入的值。
# Int2StrConverter
该转换器需要提供一个字符串作为参数,该字符串的一般形式为:`[字符串0];[字符串1];...[字符串n]`,转换器会将一个整型的值作为索引,来获取指定位置的字符串并返回。
@@ -16,6 +16,7 @@ HandyControl中自带了一些几何形状定义,但要应用于生产中显
| LeftGeometry | 左 |
| RightGeometry | 右 |
| RotateLeftGeometry | 向左旋转 |
| RotateRightGeometry | 向左旋转 |
| EnlargeGeometry | 放大 |
| ReduceGeometry | 缩小 |
| DownloadGeometry | 下载 |
@@ -28,6 +29,12 @@ HandyControl中自带了一些几何形状定义,但要应用于生产中显
| WindowMinGeometry | 窗口最小化 |
| WindowRestoreGeometry | 窗口还原 |
| WindowMaxGeometry | 窗口最大化 |
| CheckedGeometry | 选中 |
| PageModeGeometry | 单页模式 |
| TwoPageModeGeometry | 双页模式 |
| ScrollModeGeometry | 滚动模式 |
| EyeOpenGeometry | 睁眼 |
| EyeCloseGeometry | 闭眼 |
| AudioGeometry | 声音 |
| BubbleTailGeometry | 气泡的尾巴 |
| StarGeometry | 爱心 |
@@ -5,7 +5,7 @@ title: 尺寸
| 名称 | 类型 | 值 | 描述 |
|-|-|
| DefaultControlHeight | System.Double | 30 | 默认控件高度 |
| DefaultControlPadding | System.Windows.Thickness | 12,6 | 默认控件内边距 |
| DefaultControlPadding | System.Windows.Thickness | 10,6 | 默认控件内边距 |
| DefaultInputPadding | System.Windows.Thickness | 8,6 |默认输入控件内边距 |
| DefaultCornerRadius | System.Windows.CornerRadius | 4 | 默认圆角 |
@@ -0,0 +1,77 @@
---
title: ButtonGroup 按钮组
---
# RadioGroupItemBaseStyle
`ButtonGroup`控件中的子集`RadioButton`样式基类,不建议直接使用,常作为`ButtonGroup`中`Item`样式基类,同时与`ButtonGroup`控件配套使用
案例:
```xml
<!--内部Item样式为ButtonGroup控件自动附加-默认为水平方向item样式-->
<hc:ButtonGroup Margin="0,32,0,0">
<RadioButton Content="RadioButton" IsChecked="True"/>
<RadioButton Content="RadioButton"/>
<RadioButton IsEnabled="False" Content="RadioButton"/>
<RadioButton Content="RadioButton"/>
</hc:ButtonGroup>
<hc:ButtonGroup Margin="0,16,0,0" Style="{StaticResource ButtonGroupSolid}">
<RadioButton Content="RadioButton"/>
<RadioButton Content="RadioButton"/>
<RadioButton IsEnabled="False" Content="RadioButton"/>
<RadioButton Content="RadioButton" IsChecked="True"/>
</hc:ButtonGroup>
```
效果:
![RadioButton.RadioButtonItemDefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/RadioButton.RadioButtonItemDefaultStyle.png)
# RadioGroup关联样式
| 样式Key | 用途 | 基类样式 |
| ----------------------------- | ------------------------------------ | ----------------------- |
| RadioGroupItemDefault | RadioGroupItem默认样式 | RadioGroupItemBaseStyle |
| RadioGroupItemHorizontalFirst | RadioGroupItem水平头样式(从左至右) | RadioGroupItemBaseStyle |
| RadioGroupItemHorizontalLast | RadioGroupItem水平尾样式(从左至右) | RadioGroupItemBaseStyle |
| RadioGroupItemSingle | RadioGroupItem单项样式 | RadioGroupItemBaseStyle |
| RadioGroupItemVerticalFirst | RadioGroupItem垂直头样式(从上至下) | RadioGroupItemBaseStyle |
| RadioGroupItemVerticalLast | RadioGroupItem垂直尾样式(从上至下) | RadioGroupItemBaseStyle |
案例:
单个`RadioButton`样式:
```xml
<RadioButton Style="{DynamicResource RadioGroupItemSingle}"
Margin="0,16,8,0"
Content="RadioGroupItemSingle"></RadioButton>
```
效果:
![RadioButton.RadioButtonItemSingleStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/RadioButton.RadioButtonItemSingleStyle.png)
多个`RadioButton`垂直样式:
```xml
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<hc:ButtonGroup Margin="0,16,8,0" Orientation="Vertical">
<RadioButton Content="RadioButton" IsChecked="True"/>
<RadioButton Content="RadioButton"/>
<RadioButton IsEnabled="False" Content="RadioButton"/>
<RadioButton Content="RadioButton"/>
</hc:ButtonGroup>
<hc:ButtonGroup Margin="8,16,0,0" Orientation="Vertical" Style="{StaticResource ButtonGroupSolid}">
<RadioButton Content="RadioButton"/>
<RadioButton Content="RadioButton"/>
<RadioButton IsEnabled="False" Content="RadioButton"/>
<RadioButton Content="RadioButton" IsChecked="True"/>
</hc:ButtonGroup>
</StackPanel>
```
效果:
![RadioButton.RadioButtonItemVerticalStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/RadioButton.RadioButtonItemVerticalStyle.png)
@@ -1,5 +1,66 @@
---
title: 建设中
title: CalendarWithClock
---
建设中
CalendarWithClock 控件由日历和时钟组成,允许用户通过鼠标选择日期和时间。
``` CS
[TemplatePart(Name = ElementButtonConfirm, Type = typeof(Button))]
[TemplatePart(Name = ElementClockPresenter, Type = typeof(ContentPresenter))]
[TemplatePart(Name = ElementCalendarPresenter, Type = typeof(ContentPresenter))]
public class CalendarWithClock : Control
```
# 创建日期选取器
``` XML
<hc:CalendarWithClock />
```
``` CS
var dateTimePicker = new CalendarWithClock();
```
生成的CalendarWithClock如下图所示:
![DateTimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/CalendarWithClock_1.png)
# 选择日期和时间
通过鼠标分别在日历和时钟上选择日期和时间,然后点击 **确定** 按钮即可更新CalendarWithClock控件的日期和时间。
也可以在XAML钟或代码中这样设置日期。
``` XML
<hc:CalendarWithClock SelectedDateTime="{x:Static system:DateTime.Now}"/>
```
``` CS
calendarWithClock.SelectedDateTime = DateTime.Now;
```
# 属性
| 属性 | 描述 |
| ---------------- | ------------------ |
| SelectedDateTime | 获取或设置当前选中的日期和时间 |
| DateTimeFormat | 获取或设置用于显示选定日期和时间的格式 |
| DisplayDateTime | 获取或设置要显示的日期 |
| ShowConfirmButton | 获取或设置一个值,该值指示是是否显示 **确定** 按钮 |
| VerifyFunc | 获取或设置数据验证委托 |
| IsError | 获取或设置数据是否错误 |
| ErrorStr | 获取或设置错误提示 |
| TextType | 获取或设置文本类型 |
| ShowClearButton | 获取或设置是否显示清除按钮 |
# 方法
| 方法 | 描述 |
| ---------------- | ------------------ |
| VerifyData() | 验证数据 |
@@ -0,0 +1,3 @@
---
title: Card
---
@@ -1,5 +1,74 @@
---
title: 建设中
title: DatePicker
---
建设中
DatePicker 控件允许用户通过在文本框中键入日期或使用下拉的日历控件来选择日期。
``` CS
[TemplatePart(Name = ElementTextBox, Type = typeof(DatePickerTextBox))]
public class DatePicker : System.Windows.Controls.DatePicker, IDataInput
```
# 创建DatePicker
``` XML
<hc:DatePicker />
```
``` CS
var datePicker = new DatePicker();
```
生成的DatePicker如下图所示:
![DatePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/DatePicker_1.png)
# 选择日期
可以通过文本框输入日期,或者点击文本框右边的按钮打开下拉的日历控件选择日期。
![DatePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/DatePicker_2.png)
也可以在XAML钟或代码中这样设置日期。
``` XML
<hc:DatePicker SelectedDate="{x:Static system:DateTime.Now}"/>
```
``` CS
datePicker.SelectedDate = DateTime.Now;
```
# 设置标题和占位符文本
你可以将 Header(标题)和 Placeholder(占位符)添加到DatePicker,以向用户指示其用途。
``` XML
<hc:DatePicker hc:InfoElement.TitleWidth="140"
hc:InfoElement.TitleAlignment="Left"
hc:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}"
hc:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr3}" />
```
# 属性
| 属性 | 描述 |
| ---------------- | ------------------ |
| SelectedDate | 获取或设置当前选中的日期 |
| VerifyFunc | 获取或设置数据验证委托 |
| IsError | 获取或设置数据是否错误 |
| ErrorStr | 获取或设置错误提示 |
| TextType | 获取或设置文本类型 |
| ShowClearButton | 获取或设置是否显示清除按钮 |
# 方法
| 方法 | 描述 |
| ---------------- | ------------------ |
| VerifyData() | 验证数据 |
@@ -1,5 +1,82 @@
---
title: 建设中
title: DateTimePicker
---
建设中
DatePicker 控件允许用户通过在文本框中键入日期和时间,或使用下拉的日历控件来选择日期和时间。
``` CS
[TemplatePart(Name = ElementRoot, Type = typeof(Grid))]
[TemplatePart(Name = ElementTextBox, Type = typeof(WatermarkTextBox))]
[TemplatePart(Name = ElementButton, Type = typeof(Button))]
[TemplatePart(Name = ElementPopup, Type = typeof(Popup))]
public class DateTimePicker : Control, IDataInput
```
# 创建DateTimePicker
``` XML
<hc:DateTimePicker />
```
``` CS
var dateTimePicker = new DateTimePicker();
```
生成的DateTimePicker如下图所示:
![DateTimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/DateTimePicker_1.png)
# 选择日期和时间
可以通过文本框输入日期和时间,或者点击文本框右边的按钮打开下拉的日历和时钟控件选择日期和时间。
![DateTimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/DateTimePicker_2.png)
也可以在XAML中或代码中这样设置日期。
``` XML
<hc:DateTimePicker SelectedDateTime="{x:Static system:DateTime.Now}"/>
```
``` CS
dateTimePicker.SelectedDateTime = DateTime.Now;
```
# 设置标题和占位符文本
你可以将 Header(标题)和 Placeholder(占位符)添加到DatePicker,以向用户指示其用途。要使用这两个属性,首先需要应用 **DateTimePickerExtend** 或 **DateTimePickerPlus** 样式。
``` XML
<hc:DateTimePicker ShowClearButton="True"
Style="{StaticResource DateTimePickerExtend}"
hc:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}"
hc:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}"/>
```
# 属性
| 属性 | 描述 |
| ---------------- | ------------------ |
| SelectedDateTime | 获取或设置当前选中的日期和时间 |
| DateTimeFormat | 获取或设置用于显示选定日期和时间的格式 |
| CalendarStyle | 获取或设置在呈现日历时使用的样式 |
| DisplayDateTime | 获取或设置要显示的日期 |
| IsDropDownOpen | 获取或设置一个值,该值指示是打开还是关闭下拉 Calendar |
| Text | 获取由 **DateTimePicker** 显示的文本,或设置选定日期和时间 |
| VerifyFunc | 获取或设置数据验证委托 |
| IsError | 获取或设置数据是否错误 |
| ErrorStr | 获取或设置错误提示 |
| TextType | 获取或设置文本类型 |
| ShowClearButton | 获取或设置是否显示清除按钮 |
# 方法
| 方法 | 描述 |
| ---------------- | ------------------ |
| VerifyData() | 验证数据 |
@@ -0,0 +1,3 @@
---
title: Divider
---
@@ -0,0 +1,3 @@
---
title: Drawer
---
@@ -0,0 +1,3 @@
---
title: FloatingBlock
---
@@ -0,0 +1,3 @@
---
title: GlowWindow
---
@@ -0,0 +1,3 @@
---
title: Grid
---
@@ -0,0 +1,3 @@
---
title: HoneycombPanel
---
@@ -0,0 +1,3 @@
---
title: ImageBlock
---
@@ -0,0 +1,3 @@
---
title: Magnifier
---
@@ -0,0 +1,3 @@
---
title: Notification
---
@@ -1,5 +1,105 @@
---
title: 建设中
title: NumericUpDown 数值选择控件
---
建设中
NumericUpDown 控件看起来像一对用户可以单击来调整值的箭头按钮和TextBox的组合,该控件显示并设置数值(Value)。 用户可以通过单击向上和向下箭头,或通过在控件的TextBox部分中键入一个数字来改变Value。
``` CS
[TemplatePart(Name = ElementTextBox, Type = typeof(DatePickerTextBox))]
public class DatePicker : System.Windows.Controls.DatePicker, IDataInput
```
# 创建NumericUpDown并设置Value
``` XML
<hc:NumericUpDown Value="100"/>
```
``` CS
var numericUpDown = new NumericUpDown();
numericUpDown.Value = 100;
```
生成的NumericUpDown如下图所示:
![NumericUpDown](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/NumericUpDown_1.png)
# 设置DecimalPlaces
如果需要改变Value显示的小数位数,可以改变DecimalPlaces。DecimalPlaces是一个 **int?** 类型,当它为null时不限制显示的小数位数,否则显示的小数位数为DecimalPlaces的Value。
``` XML
<hc:NumericUpDown DecimalPlaces="2" Value="100.12345"/>
```
``` CS
numericUpDown.Value = 10.12345;
numericUpDown.DecimalPlaces = 2;
```
![NumericUpDown](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/NumericUpDown_2.png)
# 设置Increment
可以通设置Increment改变单击一下按钮时增加或减少的数量。
``` XML
<hc:NumericUpDown Value="100" Increment="10"/>
```
``` CS
numericUpDown.Increment = 10;
```
# 设置上限和下限
可以通设置Maximum和Minimum限制Value的上限和下限。
``` XML
<hc:NumericUpDown Maximum="500" Minimum="10"/>
```
``` CS
numericUpDown.Minimum = 10;
numericUpDown.Maximum = 1000;
```
# 设置标题和占位符文本
你可以将 Header(标题)和 Placeholder(占位符)添加到NumericUpDown,以向用户指示其用途。要使用这两个附加属性,需要先应用 **NumericUpDownPlus** 样式。
``` XML
<hc:NumericUpDown hc:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}"
hc:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr1}"
Style="{StaticResource NumericUpDownExtend}" />
```
![NumericUpDown](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/NumericUpDown_3.png)
# 属性
| 属性 | 描述 |
| ---------------- | ------------------ |
| Value | 获取或设置当前值 |
| Maximum | 获取或设置最大允许值 |
| Minimum | 获取或设置最小允许值 |
| Increment | 获取或设置单击向上或向下按钮时,数字显示框(也称作 up-down 控件)递增或递减的值。 |
| DecimalPlaces |获取或设置NumericUpDown中要显示的十进制位数。 此属性不会影响 Value 属性。 |
| VerifyFunc | 获取或设置数据验证委托 |
| IsError | 获取或设置数据是否错误 |
| ErrorStr | 获取或设置错误提示 |
| TextType | 获取或设置文本类型 |
| ShowClearButton | 获取或设置是否显示清除按钮 |
# 方法
| 方法 | 描述 |
| ---------------- | ------------------ |
| VerifyData() | 验证数据 |
# 事件
| 事件 | 描述 |
| ---------------- | ------------------ |
| ValueChanged | 在以某种方式更改 Value 属性后发生。 |
@@ -0,0 +1,3 @@
---
title: PinBox
---
@@ -0,0 +1,3 @@
---
title: PopTip
---
@@ -0,0 +1,3 @@
---
title: RangeSlider
---
@@ -0,0 +1,3 @@
---
title: RelativePanel
---
@@ -0,0 +1,3 @@
---
title: RunningBlock
---
@@ -0,0 +1,3 @@
---
title: SideMenu
---
@@ -0,0 +1,3 @@
---
title: SplitButton
---
@@ -0,0 +1,3 @@
---
title: Sprite
---
@@ -1,5 +1,95 @@
---
title: 建设中
title: TimePicker
---
建设中
TimePicker 控件允许用户通过在文本框中键入时间或使用下拉的日历控件来选择时间。
``` CS
[TemplatePart(Name = ElementRoot, Type = typeof(Grid))]
[TemplatePart(Name = ElementTextBox, Type = typeof(WatermarkTextBox))]
[TemplatePart(Name = ElementButton, Type = typeof(Button))]
[TemplatePart(Name = ElementPopup, Type = typeof(Popup))]
public class TimePicker : Control, IDataInput
```
# 创建TimePicker
``` XML
<hc:TimePicker />
```
``` CS
var timePicker = new TimePicker();
```
生成的TimePicker如下图所示:
![TimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/TimePicker_1.png)
# 选择时间
可以通过文本框输入时间,或者点击文本框右边的按钮打开下拉的时钟控件选择时间。
![TimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/TimePicker_2.png)
也可以在XAML钟或代码中这样设置日期。
``` XML
<hc:TimePicker SelectedTime="{x:Static system:DateTime.Now}"/>
```
``` CS
timePicker.SelectedTime = DateTime.Now;
```
# 更改时钟样式
通过更改Clock属性,TimePicker可以更改时钟的样式。
``` XML
<hc:TimePicker ShowClearButton="True" Style="{StaticResource TimePickerPlus}">
<hc:TimePicker.Clock>
<hc:ListClock/>
</hc:TimePicker.Clock>
</hc:TimePicker>
```
![TimePicker](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/extend_controls/TimePicker_3.png)
# 设置标题和占位符文本
你可以将 Header(标题)和 Placeholder(占位符)添加到DatePicker,以向用户指示其用途。要使用这两个属性,首先需要应用 **TimePickerExtend** 或 **TimePickerPlus** 样式。
``` XML
<hc:TimePicker hc:InfoElement.Placeholder="{x:Static langs:Lang.PlsEnterContent}"
hc:InfoElement.Title="{x:Static langs:Lang.TitleDemoStr2}"
Style="{StaticResource TimePickerExtend}"/>
```
# 属性
| 属性 | 描述 |
| ---------------- | ------------------ |
| SelectedTime | 获取或设置当前选中的时间 |
| Clock | 获取或设置下拉时钟 |
| TimeFormat | 获取或设置用于显示选定的时间的格式 |
| DisplayTime | 获取或设置要显示的时间 |
| IsDropDownOpen | 获取或设置一个值,该值指示是打开还是关闭下拉时钟 |
| Text | 获取由 **TimePicker** 显示的文本,或设置选定的时间 |
| VerifyFunc | 获取或设置数据验证委托 |
| IsError | 获取或设置数据是否错误 |
| ErrorStr | 获取或设置错误提示 |
| TextType | 获取或设置文本类型 |
| ShowClearButton | 获取或设置是否显示清除按钮 |
# 方法
| 方法 | 描述 |
| ---------------- | ------------------ |
| VerifyData() | 验证数据 |
+1 -1
View File
@@ -2,7 +2,7 @@
title: 欢迎使用HandyControl
---
HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含60余款自定义控件(正逐步增加)。
HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含70余款自定义控件(正逐步增加)。
# 要求
+8 -2
View File
@@ -21,9 +21,15 @@ title: 国际化
# 扩展
控件库自带的语言包包括简体中文(zh-cn)、英文(en)、波斯语(fa)、法语(fr),默认为简体中文(zh-cn):
控件库自带的语言包包括:
![Langs](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/langs/Langs.png)
* 简体中文(zh-cn)
* 英文(en)
* 波斯语(fa)
* 法语(fr)
* 韩文 (ko-kr)
默认为简体中文(zh-cn)。
如果需要可自行扩展,这里推荐使用开源插件:[ResXManager](https://marketplace.visualstudio.com/items?itemName=TomEnglert.ResXManager),来维护所有的语言包。
@@ -12,32 +12,32 @@ title: Border 边框
``` xml
<UniformGrid Margin="32,32,0,0" Columns="3" Rows="2">
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="0,0,32,32">
<Border Style="{StaticResource BorderRegion}" Width="200" Height="200" Margin="0,0,32,32">
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow1}">
<Border Style="{StaticResource BorderRegion}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow1}">
<Border Background="{DynamicResource InfoBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow2}">
<Border Style="{StaticResource BorderRegion}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow2}">
<Border Background="{DynamicResource WarningBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow3}">
<Border Style="{StaticResource BorderRegion}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow3}">
<Border Background="{DynamicResource DangerBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow4}">
<Border Style="{StaticResource BorderRegion}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow4}">
<Border Background="{DynamicResource AccentBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White"/>
</Border>
</Border>
<Border Style="{StaticResource BorderRegionStyle}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow5}">
<Border Style="{StaticResource BorderRegion}" Width="200" Height="200" Margin="0,0,32,32" Effect="{StaticResource EffectShadow5}">
<Border Background="{DynamicResource BorderBrush}">
<TextBlock Text="{x:Static langs:Lang.ContentDemoStr}" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
@@ -45,6 +45,8 @@ title: Border 边框
</UniformGrid>
```
提示:新版本中使用的`BorderRegion`,有别于老版本使用样式`BorderRegionStyle`,由直角变更为圆角
# BorderVerticallySplitter
此样式使用1单位宽度的Border来分割横向排列的控件。
@@ -0,0 +1,117 @@
---
title: FlowDocument 流文档
---
# FlowDocumentScrollViewerBaseStyle
流文档滚动视图默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
``` xml
<FlowDocumentScrollViewer IsToolBarVisible="True" Width="502" Height="400" Margin="32">
<FlowDocument ColumnWidth="400" IsOptimalParagraphEnabled="True" IsHyphenationEnabled="True">
<Section FontSize="12">
<Paragraph>
<Bold>Neptune</Bold> (planet), major planet in the solar system, eighth planet
from the Sun and fourth largest in diameter. Neptune maintains an almost constant
distance, about 4,490 million km (about 2,790 million mi), from the Sun. Neptune
revolves outside the orbit of Uranus and for most of its orbit moves inside the
elliptical path of the outermost planet Pluto (see Solar System). Every 248 years,
Pluto’s elliptical orbit brings the planet inside Neptune’s nearly circular orbit
for about 20 years, temporarily making Neptune the farthest planet from the Sun.
The last time Pluto’s orbit brought it inside Neptune’s orbit was in 1979. In
1999 Pluto’s orbit carried it back outside Neptune’s orbit.
<Figure Width="140" Height="50" Background="GhostWhite" HorizontalAnchor="PageLeft" HorizontalOffset="100" VerticalOffset="20">
<Paragraph FontStyle="Italic" TextAlignment="Left" Background="Beige" Foreground="DarkGreen">
Neptune has 72 times Earth's volume...
</Paragraph>
</Figure>
<Floater Background="GhostWhite" Width="285" HorizontalAlignment="Left">
<Table CellSpacing="5">
<Table.Columns>
<TableColumn Width="155"/>
<TableColumn Width="130"/>
</Table.Columns>
<TableRowGroup>
<TableRow>
<TableCell ColumnSpan="3">
<Paragraph>Neptune Stats</Paragraph>
</TableCell>
</TableRow>
<TableRow Background="LightGoldenrodYellow" FontSize="12">
<TableCell>
<Paragraph FontWeight="Bold">Mean Distance from Sun</Paragraph>
</TableCell>
<TableCell>
<Paragraph>4,504,000,000 km</Paragraph>
</TableCell>
</TableRow>
<TableRow FontSize="12" Background="LightGray">
<TableCell>
<Paragraph FontWeight="Bold">Mean Diameter</Paragraph>
</TableCell>
<TableCell>
<Paragraph>49,532 km</Paragraph>
</TableCell>
</TableRow>
<TableRow Background="LightGoldenrodYellow" FontSize="12">
<TableCell>
<Paragraph FontWeight="Bold">Approximate Mass</Paragraph>
</TableCell>
<TableCell>
<Paragraph>1.0247e26 kg</Paragraph>
</TableCell>
</TableRow>
<TableRow>
<TableCell ColumnSpan="4">
<Paragraph FontSize="10" FontStyle="Italic">
Information from the
<Hyperlink NavigateUri="http://encarta.msn.com/encnet/refpages/artcenter.aspx">Encarta</Hyperlink>
web site.
</Paragraph>
</TableCell>
</TableRow>
</TableRowGroup>
</Table>
</Floater>
</Paragraph>
<Paragraph>
Astronomers believe Neptune has an inner rocky core that is surrounded by a vast
ocean of water mixed with rocky material. From the inner core, this ocean extends
upward until it meets a gaseous atmosphere of hydrogen, helium, and trace amounts
of methane. Neptune has four rings and 11 known moons. Even though Neptune's volume
is 72 times Earth’s volume, its mass is only 17.15 times Earth’s mass. Because of
its size, scientists classify Neptune—along with Jupiter, Saturn, and Uranus—as
one of the giant or Jovian planets (so-called because they resemble Jupiter).
</Paragraph>
<Paragraph>
<Figure Width="140" Height="50" Background="GhostWhite" TextAlignment="Left" HorizontalAnchor="PageCenter" WrapDirection="Both">
<Paragraph FontStyle="Italic" Background="Beige" Foreground="DarkGreen" >
Neptune has an orbital period of ~20 years...
</Paragraph>
</Figure>
Mathematical theories of astronomy led to the discovery of Neptune. To account for
wobbles in the orbit of the planet Uranus, British astronomer John Couch Adams and
French astronomer Urbain Jean Joseph Leverrier independently calculated the existence
and position of a new planet in 1845 and 1846, respectively. They theorized that the
gravitational attraction of this planet for Uranus was causing the wobbles in Uranus’s
orbit. Using information from Leverrier, German astronomer Johann Gottfried Galle first
observed the planet in 1846.
</Paragraph>
</Section>
</FlowDocument>
</FlowDocumentScrollViewer>
```
效果:
![FlowDocumentScrollViewer](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/FlowDocumentScrollViewer.png)
# FlowDocumentPageViewerBaseStyle
流文档单页视图默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# FlowDocumentReaderBaseStyle
流文档查看器默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
@@ -0,0 +1,17 @@
---
title: Frame 导航框架
---
# FrameBaseStyle
导航框架默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
``` xml
<Frame Margin="32" Width="500" Height="360" Name="FrameDemo" NavigationUIVisibility="Visible"/>
```
效果:
![FrameBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/FrameBaseStyle.png)
@@ -1,5 +1,18 @@
---
title: 建设中
title: Image图片
---
建设中
在`HandyControl`中,对应原生的`Image`控件,仅仅提供了一个默认的控件样式,并未提供特殊样式,对于个性化定制,需要使用者自行定制。
{% note info no-icon %}
用例:
{% code %}
<StackPanel Background="LightGray">
<Image Source="Resources/Images/Image_basestyle.png" Margin="0,10"></Image>
<Image Source="Resources/Images/Image_basestyle.png" RenderOptions.BitmapScalingMode="HighQuality" Stretch="Uniform"></Image>
</StackPanel>
{% endcode %}
![image.baseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/image.baseStyle.png)
{% endnote %}
@@ -1,5 +1,87 @@
---
title: 建设中
title: Lable标签
---
建设中
# LabelBaseStyle
Label标签默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
{% note info no-icon %}
用例:
{% code %}
<Label Content="Label默认样式" Margin="10"></Label>
{% endcode %}
![Label.BaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Label.BaseStyle.png)
{% endnote %}
# LabelPrimary : LabelBaseStyle
主样式
{% note info no-icon %}
用例:
{% code %}
<Label Content="LabelPrimary样式" Margin="10" Style="{DynamicResource LabelPrimary}"></Label>
{% endcode %}
![Label.PrimaryStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Label.PrimaryStyle.png)
{% endnote %}
# LabelSuccess : LabelBaseStyle
成功类型样式
{% note info no-icon %}
用例:
{% code %}
<Label Content="LabelSuccess样式" Margin="10" Style="{DynamicResource LabelSuccess}"></Label>
{% endcode %}
![Label.SuccessStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Label.SuccessStyle.png)
{% endnote %}
# LabelInfo : LabelBaseStyle
信息类型样式
{% note info no-icon %}
用例:
{% code %}
<Label Content="LabelInfo样式" Margin="10" Style="{DynamicResource LabelInfo}"></Label>
{% endcode %}
![Label.InfoStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Label.InfoStyle.png)
{% endnote %}
# LabelWarning : LabelBaseStyle
警告类型样式
{% note info no-icon %}
用例:
{% code %}
<Label Content="LabelWarning样式" Margin="10" Style="{DynamicResource LabelWarning}"></Label>
{% endcode %}
![Label.WarningStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Label.WarningStyle.png)
{% endnote %}
# LabelDanger : LabelBaseStyle
危险类型样式
{% note info no-icon %}
用例:
{% code %}
<Label Content="LabelDanger样式" Margin="10" Style="{DynamicResource LabelDanger}"></Label>
{% endcode %}
![Label.DangerStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Label.DangerStyle.png)
{% endnote %}
@@ -1,5 +1,147 @@
---
title: 建设中
title: ListBox 列表框
---
建设中
# ListBoxBaseStyle
ListBox默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
{% note info no-icon %}
用例:
{% code %}
<Style BasedOn="{StaticResource ListBoxBaseStyle}" TargetType="ListBox"/>
{% endcode %}
![ListBox.BaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListBox.BaseStyle.png)
{% endnote %}
# ListBoxCustom : ListBoxBaseStyle
ListBox列表Custom样式,该样式保留了Listbox的基本属性样式,而数据显示样式由当前用户自定义,实现个性化定制。
{% note info no-icon %}
用例:
{% code %}
<ListBox Margin="10" ItemsSource="{Binding Datas}"
Style="{DynamicResource ListBoxCustom}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Margin="0,5">
<DockPanel LastChildFill="True">
<Path DockPanel.Dock="Left" Fill="YellowGreen" Width="20" Margin="10,0,10,0" HorizontalAlignment="Center" Data="{DynamicResource BubbleTailGeometry}"></Path>
<TextBlock Padding="10" Text="{Binding Name}"></TextBlock>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
{% endcode %}
![ListBox.CustomStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListBox.CustomStyle.png)
{% endnote %}
# WrapPanelHorizontalListBox : ListBoxCustom
布局容器为WrapPanel,水平方向显示样式。
{% note info no-icon %}
用例:
{% code %}
<ListBox Margin="10" ItemsSource="{Binding Datas}"
Style="{DynamicResource WrapPanelHorizontalListBox}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Margin="5,0">
<DockPanel LastChildFill="True">
<Path DockPanel.Dock="Left" Fill="YellowGreen" Width="20" Margin="10,0,10,0" HorizontalAlignment="Center" Data="{DynamicResource BubbleTailGeometry}"></Path>
<TextBlock Padding="10" Text="{Binding Name}"></TextBlock>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
{% endcode %}
![ListBox.WrapPanelHorizontalStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListBox.WrapPanelHorizontalStyle.png)
{% endnote %}
# WrapPanelVerticalListBox : ListBoxCustom
布局容器为WrapPanel,垂直方向显示样式。
{% note info no-icon %}
用例:
{% code %}
<ListBox Margin="10" ItemsSource="{Binding Datas}"
Style="{DynamicResource WrapPanelVerticalListBox}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Margin="0,5">
<DockPanel LastChildFill="True">
<Path DockPanel.Dock="Left" Fill="YellowGreen" Width="20" Margin="10,0,10,0" HorizontalAlignment="Center" Data="{DynamicResource BubbleTailGeometry}"></Path>
<TextBlock Padding="10" Text="{Binding Name}"></TextBlock>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
{% endcode %}
![ListBox.WrapPanelVerticalStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListBox.WrapPanelVerticalStyle.png)
{% endnote %}
# StackPanelHorizontalListBox : ListBoxCustom
布局容器为StackPanel,水平方向显示样式。
{% note info no-icon %}
用例:
{% code %}
<ListBox Margin="10" ItemsSource="{Binding Datas}"
Style="{DynamicResource StackPanelHorizontalListBox}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Margin="5,0">
<DockPanel LastChildFill="True">
<Path DockPanel.Dock="Left" Fill="YellowGreen" Width="20" Margin="10,0,10,0" HorizontalAlignment="Center" Data="{DynamicResource BubbleTailGeometry}"></Path>
<TextBlock Padding="10" Text="{Binding Name}"></TextBlock>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
{% endcode %}
![ListBox.StackPanelHorizontalStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListBox.StackPanelHorizontalStyle.png)
{% endnote %}
# StackPanelVerticalListBox : ListBoxCustom
布局容器为StackPanel,垂直方向显示样式。
{% note info no-icon %}
用例:
{% code %}
<ListBox Margin="10" ItemsSource="{Binding Datas}"
Style="{DynamicResource StackPanelVerticalListBox}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border BorderThickness="1" BorderBrush="Black" Margin="0,1">
<DockPanel LastChildFill="True">
<Path DockPanel.Dock="Left" Fill="YellowGreen" Width="20" Margin="10,0,10,0" HorizontalAlignment="Center" Data="{DynamicResource BubbleTailGeometry}"></Path>
<TextBlock Padding="10" Text="{Binding Name}"></TextBlock>
</DockPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
{% endcode %}
![ListBox.StackPanelVerticalStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListBox.StackPanelVerticalStyle.png)
{% endnote %}
@@ -1,5 +1,23 @@
---
title: 建设中
title: ListView 列表视图
---
建设中
`HandyControl`中仅提供了一个默认的`ListView`样式,可根据个人需求,自行定义。
{% note info no-icon %}
用例:
{% code %}
<ListView ItemsSource="{Binding DataList}" Margin="20">
<ListView.View>
<GridView>
<GridViewColumn Width="80" Header="标题1" DisplayMemberBinding="{Binding Index}"/>
<GridViewColumn Width="100" Header="标题2" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Width="200" Header="标题3" DisplayMemberBinding="{Binding Remark}"/>
</GridView>
</ListView.View>
</ListView>
{% endcode %}
![ListView.DefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ListView.DefaultStyle.png)
{% endnote %}
@@ -1,5 +1,23 @@
---
title: 建设中
title: Menu 菜单
---
建设中
# MenuBaseStyle
菜单默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
{% note info no-icon %}
用例:
{% code %}
<Menu ItemsSource="{Binding Menus}">
<Menu.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Name}"></TextBlock>
</HierarchicalDataTemplate>
</Menu.ItemTemplate>
</Menu>
{% endcode %}
![Menu.BaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Menu.BaseStyle.png)
{% endnote %}
@@ -1,5 +1,45 @@
---
title: 建设中
title: PasswordBox 密码框
---
建设中
# PasswordBoxBaseStyle
原生密码框默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
{% note info no-icon %}
用例:
{% code %}
<PasswordBox PasswordChar="*" VerticalAlignment="Center" Width="120"></PasswordBox>
{% endcode %}
![PasswordBox.BaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/PasswordBox.BaseStyle.png)
{% endnote %}
# PasswordBoxExtendBaseStyle : PasswordBoxBaseStyle
原生密码框扩展默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# PasswordBoxExtend : PasswordBoxExtendBaseStyle
相对于原生密码框默认样式,它借助于附加属性可以实现标题、水印的功能。
{% note info no-icon %}
用例:
{% code %}
<!--为使普通密码输入文本框显示水印,需要设定PasswordBoxAttach.PasswordLength="0"-->
<PasswordBox Style="{DynamicResource PasswordBoxExtend}" PasswordChar="*"
hc:PasswordBoxAttach.PasswordLength="0"
hc:InfoElement.Placeholder="请输入密码"
VerticalAlignment="Center"
Width="120"></PasswordBox>
<PasswordBox Style="{DynamicResource PasswordBoxExtend}" PasswordChar="*"
hc:TitleElement.Title="用户密码:"
hc:TitleElement.TitleAlignment="Top"
VerticalAlignment="Center"
Width="120"></PasswordBox>
{% endcode %}
![PasswordBox.ExtendStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/PasswordBox.ExtendStyle.png)
{% endnote %}
@@ -1,5 +1,79 @@
---
title: 建设中
title: ProgressBar 进度条
---
建设中
# ProgressBarBaseStyle
进度条默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# 其他样式
`HandyControl`中自带的其他样式和效果,其中包含如下样式:
| 样式Key | 用途 |父样式|
| ------------------ | ---- ||
| ProgressBarSuccess | 成功色进度条 |ProgressBarBaseStyle|
| ProgressBarInfo | 提示色进度条 |ProgressBarBaseStyle|
| ProgressBarWarning | 警告色进度条 |ProgressBarBaseStyle|
| ProgressBarDanger | 危险色进度条 |ProgressBarBaseStyle|
| ProgressBarStripeBaseStyle | 条纹进度条默认样式(不推荐直接使用) |-|
| ProgressBarPrimaryStripe | 主题色条纹进度条 |ProgressBarStripeBaseStyle|
| ProgressBarSuccessStripe | 成功色条纹进度条 |ProgressBarStripeBaseStyle|
| ProgressBarInfoStripe | 信息色条纹进度条 |ProgressBarStripeBaseStyle|
| ProgressBarWarningStripe | 警告色条纹进度条 |ProgressBarStripeBaseStyle|
| ProgressBarDangerStripe | 危险色条纹进度条 |ProgressBarStripeBaseStyle|
| ProgressBarFlat | 扁平风格 |-|
案例:
```xml
<StackPanel Margin="20">
<TextBlock Text="默认样式"></TextBlock>
<ProgressBar Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarSuccess"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarSuccess}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarInfo"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarInfo}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarWarning"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarWarning}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarDanger"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarDanger}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarPrimaryStripe"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarPrimaryStripe}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarSuccessStripe"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarSuccessStripe}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarInfoStripe"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarInfoStripe}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarWarningStripe"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarWarningStripe}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarDangerStripe"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarDangerStripe}" Value="40"></ProgressBar>
</StackPanel>
<StackPanel Margin="20">
<TextBlock Text="ProgressBarFlat"></TextBlock>
<ProgressBar Style="{DynamicResource ProgressBarFlat}" Value="40"></ProgressBar>
</StackPanel>
```
效果:
![ProgressBar.Styles](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ProgressBar.Styles.png)
# 温馨提示
对于颜色、圆角或其它自定义需求,可参考[进度条样式源码](https://github.com/HandyOrg/HandyControl/blob/master/src/Shared/HandyControl_Shared/Themes/Styles/ProgressBar.xaml)自行定义。
@@ -1,5 +1,41 @@
---
title: 建设中
title: RadioButton 单选按钮
---
建设中
# RadioButtonBaseStyle
单选按钮默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<StackPanel>
<RadioButton Content="默认样式"/>
<RadioButton Margin="0,16,0,0" Content="不可编辑" IsChecked="True" IsEnabled="False"/>
<RadioButton Margin="0,16,0,0" Content="默认样式"/>
<RadioButton Margin="0,16,0,0" Content="不可编辑" IsEnabled="False"/>
</StackPanel>
```
效果:
![RadioButton.DefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/RadioButton.DefaultStyle.png)
# RadioButtonIcon : RadioButtonBaseStyle
带图标样式,可只显示图标也可图文显示
案例:
```xml
<UniformGrid Margin="22,0,0,0" Rows="2" Columns="2">
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" hc:IconElement.Geometry="{StaticResource CalendarGeometry}" Style="{StaticResource RadioButtonIcon}" Content="RadioButtonIcon"/>
<RadioButton Margin="10,0,0,0" Background="{DynamicResource SecondaryRegionBrush}" Style="{StaticResource RadioButtonIcon}" Content="RadioButtonIcon" IsChecked="True"/>
<RadioButton Margin="10,0,0,0" BorderThickness="1" hc:IconElement.Geometry="{StaticResource CalendarGeometry}" Style="{StaticResource RadioButtonIcon}" Content="RadioButtonIcon"/>
<RadioButton Margin="10,0,0,0" BorderThickness="1" Style="{StaticResource RadioButtonIcon}" Content="RadioButtonIcon"/>
</UniformGrid>
```
效果:
![RadioButton.IconStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/RadioButton.IconStyle.png)
@@ -1,5 +1,21 @@
---
title: 建设中
title: RichTextBox 富文本框
---
建设中
# TextBoxBaseBaseStyle
基础文本控件默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# RichTextBoxBaseStyle : TextBoxBaseBaseStyle
富文本框默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<RichTextBox Margin="10,10" VerticalAlignment="Center" HorizontalAlignment="Center"></RichTextBox>
```
效果:
![RichTextbox.DefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/RichTextbox.DefaultStyle.png)
@@ -1,5 +1,42 @@
---
title: 建设中
title: ScrollViewer 滚动视图
---
建设中
# ScrollViewerNativeBaseStyle
原生滚动视图默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<ScrollViewer>
<Grid Height="500">
<TextBlock Text="内容区域"></TextBlock>
</Grid>
</ScrollViewer>
```
效果:
![ScrollViewer.DefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ScrollViewer.DefaultStyle.png)
# ScrollViewerUpDown
显示上下按钮的滚动视图样式
案例:
```xml
<ScrollViewer Style="{StaticResource ScrollViewerUpDown}">
<StackPanel Height="500">
<TextBlock Text="内容区域" Height="250"></TextBlock>
<TextBlock Text="内容区域" Height="250"></TextBlock>
<TextBlock Text="内容区域"></TextBlock>
<TextBlock Text="内容区域"></TextBlock>
</StackPanel>
</ScrollViewer>
```
效果:
![ScrollViewer.UpDownStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ScrollViewer.UpDownStyle.png)
@@ -0,0 +1,7 @@
---
title: Seperator 分隔符
---
# SeparatorBaseStyle
分隔符默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
@@ -1,5 +1,17 @@
---
title: 建设中
title: Slider 滑块
---
建设中
# SliderBaseStyle
滑块默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<Slider VerticalAlignment="Center" Width="400" Value="40" Maximum="100"/>
```
效果:
![Slider.DefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/Slider.DefaultStyle.png)
@@ -0,0 +1,7 @@
---
title: StatusBar 状态栏
---
# StatusBarBaseStyle
状态栏默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
@@ -1,5 +1,93 @@
---
title: 建设中
title: TabControl 选项卡控件
---
建设中
# TabControlBaseStyle
选项卡控件默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<TabControl Margin="10">
<TabItem Header="选项卡1">
</TabItem>
<TabItem Header="选项卡2">
</TabItem>
<TabItem Header="选项卡3">
</TabItem>
</TabControl>
```
效果:
![TabControl.DefaultStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TabControl.DefaultStyle.png)
# TabControlInLine : TabControlBaseStyle
单行填充选项卡样式
案例:
```xml
<TabControl Margin="10" Style="{StaticResource TabControlInLine}">
<TabItem Header="选项卡1">
</TabItem>
<TabItem Header="选项卡2">
</TabItem>
<TabItem Header="选项卡3">
</TabItem>
</TabControl>
```
效果:
![TabControl.InLineStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TabControl.InLineStyle.png)
# TabControlCapsule
胶囊状选项卡样式
案例:
```xml
<TabControl Margin="10" Style="{StaticResource TabControlCapsule}">
<TabItem Header="选项卡1">
</TabItem>
<TabItem Header="选项卡2">
</TabItem>
<TabItem Header="选项卡3">
</TabItem>
</TabControl>
```
效果:
![TabControl.CapsuleStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TabControl.CapsuleStyle.png)
# TabControlCapsuleSolid : TabControlCapsule
胶囊状(实心)选项卡样式
案例:
```xml
<TabControl Margin="10" Style="{StaticResource TabControlCapsuleSolid}">
<TabItem Header="选项卡1">
</TabItem>
<TabItem Header="选项卡2">
</TabItem>
<TabItem Header="选项卡3">
</TabItem>
</TabControl>
```
效果:
![TabControl.CapsuleSolidStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TabControl.CapsuleSolidStyle.png)
# 温馨提示
可以使用属性`TabStripPlacement`设定头部标题的位置,效果如下:
![TabControl.TabStripPlacement](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TabControl.TabStripPlacement.png)
@@ -1,5 +1,37 @@
---
title: 建设中
title: TextBlock 文本块
---
建设中
# TextBlockBaseStyle
文本块默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# TextBlockBoldBaseStyle
文本块粗体默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# 案例
```xml
<StackPanel>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockLargeBold" Style="{StaticResource TextBlockLargeBold}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockLarge" Style="{StaticResource TextBlockLarge}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockHeaderBold" Style="{StaticResource TextBlockTitleBold}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockHeader" Style="{StaticResource TextBlockTitle}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockSubHeaderBold" Style="{StaticResource TextBlockSubTitleBold}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockSubHeader" Style="{StaticResource TextBlockSubTitle}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultBold" Style="{StaticResource TextBlockDefaultBold}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefault" Style="{StaticResource TextBlockDefault}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultAccent" Style="{StaticResource TextBlockDefaultAccent}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultSecLight" Style="{StaticResource TextBlockDefaultSecLight}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultThiLight" Style="{StaticResource TextBlockDefaultThiLight}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultPrimary" Style="{StaticResource TextBlockDefaultPrimary}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultDanger" Style="{StaticResource TextBlockDefaultDanger}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultWarning" Style="{StaticResource TextBlockDefaultWarning}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultInfo" Style="{StaticResource TextBlockDefaultInfo}"/>
<TextBlock HorizontalAlignment="Left" Margin="5" Text="TextBlockDefaultSuccess" Style="{StaticResource TextBlockDefaultSuccess}"/>
</StackPanel>
```
![TextBlockStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Resources/TextBlock.jpg)
@@ -1,5 +1,40 @@
---
title: 建设中
title: TextBox 文本框
---
建设中
# TextBoxBaseStyle
原生文本框默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
- 默认样式
`<TextBox Width="200" VerticalAlignment="Center"/>`
![TextBoxBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TextBoxBaseStyle.png)
# TextBoxExtendBaseStyle : TextBoxBaseStyle
原生文本框扩展默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
# TextBoxExtend : TextBoxExtendBaseStyle
相对于原生文本框默认样式,它借助于附加属性可以实现标题、水印的功能。
- 标题在上
`<TextBox Style="{StaticResource TextBoxExtend}" hc:InfoElement.Title="这是标题" Width="200" VerticalAlignment="Center"/>`
![TextBoxExtend_1](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TextBoxExtend_1.png)
- 标题在左
`<TextBox Style="{StaticResource TextBoxExtend}" hc:InfoElement.TitleAlignment="Left" hc:InfoElement.Title="这是标题" Width="300" VerticalAlignment="Center"/>`
![TextBoxExtend_2](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TextBoxExtend_2.png)
{% note warning %}
标题在左时,为了多个输入框左侧对齐,需要设置标题宽度,标题宽度无需逐个设置,可在外部容器上统一设置。
{% endnote %}
- 标题在上,带有水印
[参见Combobox](https://handyorg.github.io/handycontrol/native_controls/comboBox/)
- 标题在上,带有水印,且为必填
[参见Combobox](https://handyorg.github.io/handycontrol/native_controls/comboBox/)
- 标题在上,带有水印,且为必填,同时自定义必填提示符
[参见Combobox](https://handyorg.github.io/handycontrol/native_controls/comboBox/)
@@ -1,5 +1,177 @@
---
title: 建设中
title: ToggleButton 切换按钮
---
建设中
# ToggleButtonBaseStyle : ButtonBaseBaseStyle
切换按钮默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
{% note info %}
所有继承此样式的按钮都可以使用`IconElement`中定义的附加属性来控制按钮中几何图形的属性。
{% endnote %}
{% note info %}
所有继承此样式的按钮都可以使用`BorderElement.CornerRadius`附加属性来控制按钮的圆角大小。
{% endnote %}
## 相关样式
| 名称 | 继承自 | 用途描述 |
| - | - | - |
| ToggleButtonPrimary | ToggleButtonBaseStyle | 主要 |
| ToggleButtonSuccess | ToggleButtonBaseStyle | 成功 |
| ToggleButtonInfo | ToggleButtonBaseStyle | 信息 |
| ToggleButtonWarning | ToggleButtonBaseStyle | 警告 |
| ToggleButtonDanger | ToggleButtonBaseStyle | 危险 |
案例:
```xml
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<ToggleButton MinWidth="100" Content="Default"/>
<ToggleButton MinWidth="100" Content="Primary" Margin="0,6,0,0" Style="{StaticResource ToggleButtonPrimary}"/>
<ToggleButton MinWidth="100" Content="Success" Margin="0,6,0,0" Style="{StaticResource ToggleButtonSuccess}"/>
<ToggleButton MinWidth="100" Content="Info" Margin="0,6,0,0" Style="{StaticResource ToggleButtonInfo}"/>
<ToggleButton MinWidth="100" Content="Warning" Margin="0,6,0,0" Style="{StaticResource ToggleButtonWarning}"/>
<ToggleButton MinWidth="100" Content="Danger" Margin="0,6,0,0" Style="{StaticResource ToggleButtonDanger}"/>
</StackPanel>
```
效果:
![ToggleButtonBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonBaseStyle.png)
# ToggleButtonIconBaseStyle : BaseStyle
只显示图标的切换按钮,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
{% note info %}
所有继承此样式的按钮都可以使用`IconElement`中定义的附加属性来控制按钮中几何图形的属性。
{% endnote %}
{% note info %}
所有继承此样式的按钮都可以使用`BorderElement.CornerRadius`附加属性来控制按钮的圆角大小。
{% endnote %}
## 相关样式
| 名称 | 继承自 | 用途描述 |
| - | - | - |
| ToggleButtonIcon | ToggleButtonIconBaseStyle | 默认 |
| ToggleButtonIconPrimary | ToggleButtonIconBaseStyle | 主要 |
| ToggleButtonIconSuccess | ToggleButtonIconBaseStyle | 成功 |
| ToggleButtonIconInfo | ToggleButtonIconBaseStyle | 信息 |
| ToggleButtonIconWarning | ToggleButtonIconBaseStyle | 警告 |
| ToggleButtonIconDanger | ToggleButtonIconBaseStyle | 危险 |
| ToggleButtonIconTransparent | ToggleButtonIconBaseStyle | 透明 |
案例:
```xml
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<ToggleButton Padding="6" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIcon}"/>
<ToggleButton Margin="6,0,0,0" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIconPrimary}"/>
<ToggleButton Margin="6,0,0,0" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIconSuccess}"/>
<ToggleButton Margin="6,0,0,0" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIconInfo}"/>
<ToggleButton Margin="6,0,0,0" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIconWarning}"/>
<ToggleButton Margin="6,0,0,0" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIconDanger}"/>
<ToggleButton Margin="6,0,0,0" hc:IconElement.Geometry="{StaticResource ClockGeometry}" Style="{StaticResource ToggleButtonIconTransparent}"/>
</StackPanel>
```
效果:
![ToggleButtonIconBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonIconBaseStyle.png)
# ToggleButtonSwitchBaseStyle : BaseStyle
开关式切换按钮,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
## 相关样式
| 名称 | 继承自 |
| - | - |
| ToggleButtonSwitch | ToggleButtonSwitchBaseStyle |
案例:
```xml
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<ToggleButton Style="{StaticResource ToggleButtonSwitch}"/>
<ToggleButton Margin="0,6,0,0" IsChecked="True" Style="{StaticResource ToggleButtonSwitch}"/>
</StackPanel>
```
效果:
![ToggleButtonSwitchBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonSwitchBaseStyle.png)
# ToggleButtonFlip : BaseStyle
翻转式切换按钮。
案例:
```xml
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<ToggleButton BorderThickness="0" IsChecked="True" Style="{StaticResource ToggleButtonFlip}">
<hc:StatusSwitchElement.CheckedElement>
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="关" Foreground="{DynamicResource TextIconBrush}"/>
</Border>
</hc:StatusSwitchElement.CheckedElement>
<Border Background="{DynamicResource DangerBrush}">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="开" Foreground="{DynamicResource TextIconBrush}"/>
</Border>
</ToggleButton>
<ToggleButton Margin="0,6,0,0" BorderThickness="0" IsChecked="False" Style="{StaticResource ToggleButtonFlip}">
<hc:StatusSwitchElement.CheckedElement>
<Border Background="{DynamicResource PrimaryBrush}">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="关" Foreground="{DynamicResource TextIconBrush}"/>
</Border>
</hc:StatusSwitchElement.CheckedElement>
<Border Background="{DynamicResource DangerBrush}">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="开" Foreground="{DynamicResource TextIconBrush}"/>
</Border>
</ToggleButton>
</StackPanel>
```
效果:
![ToggleButtonFlip](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonFlip.png)
# ToggleButtonCustom : BaseStyle
如果想完全自定义按钮的内容,则推荐使用此样式。`ToggleButtonCustom`中的内容完全由你自己决定。
案例:
```xml
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
<ToggleButton IsChecked="True" Style="{StaticResource ToggleButtonCustom}" hc:StatusSwitchElement.HideUncheckedElement="True">
<hc:StatusSwitchElement.CheckedElement>
<Border Width="80" Height="30" CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Ellipse Width="20" Height="20" Fill="{DynamicResource PrimaryBrush}" StrokeThickness="1" Stroke="{DynamicResource BorderBrush}"/>
</Border>
</hc:StatusSwitchElement.CheckedElement>
<Border Width="80" Height="30" CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Ellipse Width="20" Height="20" Fill="{DynamicResource BorderBrush}" StrokeThickness="1" Stroke="{DynamicResource BorderBrush}"/>
</Border>
</ToggleButton>
<ToggleButton Margin="0,6,0,0" IsChecked="False" Style="{StaticResource ToggleButtonCustom}" hc:StatusSwitchElement.HideUncheckedElement="True">
<hc:StatusSwitchElement.CheckedElement>
<Border Width="80" Height="30" CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Ellipse Width="20" Height="20" Fill="{DynamicResource PrimaryBrush}" StrokeThickness="1" Stroke="{DynamicResource BorderBrush}"/>
</Border>
</hc:StatusSwitchElement.CheckedElement>
<Border Width="80" Height="30" CornerRadius="4" BorderThickness="1" BorderBrush="{DynamicResource BorderBrush}">
<Ellipse Width="20" Height="20" Fill="{DynamicResource BorderBrush}" StrokeThickness="1" Stroke="{DynamicResource BorderBrush}"/>
</Border>
</ToggleButton>
</StackPanel>
```
效果:
![ToggleButtonCustom](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToggleButtonCustom.png)
@@ -1,5 +1,21 @@
---
title: 建设中
title: ToolBar 工具条
---
建设中
# ToolBarBaseStyle
工具条默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<ToolBar Padding="10,6" Header="Demo" VerticalAlignment="Center" HorizontalAlignment="Center">
<Button Content="Demo" Margin="10,0,0,0"/>
<ToggleButton Content="Demo" Margin="10,0,0,0"/>
<CheckBox Content="Demo" Margin="10,0,0,0"/>
</ToolBar>
```
效果:
![ToolBarBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/ToolBarBaseStyle.png)
@@ -1,5 +1,7 @@
---
title: 建设中
title: ToolTip 工具提示
---
建设中
# ToolTipBaseStyle
工具提示默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
@@ -1,5 +1,35 @@
---
title: 建设中
title: TreeView 树视图
---
建设中
# TreeViewBaseStyle : BaseStyle
树视图默认样式,不推荐直接使用,应该始终被其它样式以BasedOn的方式使用。
案例:
```xml
<TreeView Width="200" VerticalAlignment="Center">
<TreeViewItem Header="111">
<TreeViewItem Header="111"/>
<TreeViewItem Header="222"/>
<TreeViewItem Header="333"/>
</TreeViewItem>
<TreeViewItem Header="222">
<TreeViewItem Header="111"/>
<TreeViewItem Header="222"/>
<TreeViewItem Header="333"/>
</TreeViewItem>
</TreeView>
```
效果:
![TreeViewBaseStyle](https://raw.githubusercontent.com/HandyOrg/HandyOrgResource/master/HandyControl/Doc/native_controls/TreeViewBaseStyle.png)
# 相关样式
| 名称 | 继承自 | 用途描述 |
| - | - | - |
| TreeViewItemBaseStyle | BaseStyle | 树视图项默认样式 |
| ExpandCollapseToggleStyle | | 树视图折叠按钮样式 |
@@ -1,5 +1,13 @@
---
title: 建设中
title: Window 窗口
---
建设中
`wpf`中窗口不会自动应用隐式样式,`hc`中提供了相关方法用以解决这个问题。
# Window 窗口
可通过 `ConfigHelper.Instance.SetWindowDefaultStyle()` 来设置窗口的默认样式。
# NavigationWindow 导航窗口
可通过 `ConfigHelper.Instance.SetNavigationWindowDefaultStyle()` 来设置导航窗口的默认样式。
+2 -2
View File
@@ -4,7 +4,7 @@ title: 鸣谢
# 感谢以下Coder提供代码贡献
<p><a style="border:0" href="https://github.com/ghost1372" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars0.githubusercontent.com/u/9213496?s=400&amp;v=4" alt="ghost1372"></a><a style="border:0" href="https://github.com/DingpingZhang" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars0.githubusercontent.com/u/8541016?s=400&v=4" alt="Dingping Zhang"></a><a style="border:0" href="https://github.com/M0n7y5" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars0.githubusercontent.com/u/17201053?s=400&v=4" alt="M0n7y5"></a><a style="border:0" href="https://github.com/guanguanchuangyu" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/25916858?s=400&v=4" alt="guanguanchuangyu"></a><a style="border:0" href="https://github.com/yanchao891012" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars0.githubusercontent.com/u/16846702?s=400&v=4" alt="yanchao891012"></a><a style="border:0" href="https://github.com/noctwolf" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars3.githubusercontent.com/u/21022467?s=400&v=4" alt="noctwolf"></a><a style="border:0" href="https://github.com/xianyun666" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/22339210?s=400&v=4" alt="xianyun666"></a><a style="border:0" href="https://github.com/afunc233" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/19919631?s=400&v=4" alt="afunc233"></a></p>
<p><a style="border:0" href="https://github.com/ghost1372" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars0.githubusercontent.com/u/9213496?s=400&amp;v=4" alt="ghost1372"></a><a style="border:0" href="https://github.com/DingpingZhang" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars0.githubusercontent.com/u/8541016?s=400&v=4" alt="Dingping Zhang"></a><a style="border:0" href="https://github.com/M0n7y5" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars0.githubusercontent.com/u/17201053?s=400&v=4" alt="M0n7y5"></a><a style="border:0" href="https://github.com/guanguanchuangyu" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/25916858?s=400&v=4" alt="guanguanchuangyu"></a><a style="border:0" href="https://github.com/yanchao891012" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars0.githubusercontent.com/u/16846702?s=400&v=4" alt="yanchao891012"></a><a style="border:0" href="https://github.com/noctwolf" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars3.githubusercontent.com/u/21022467?s=400&v=4" alt="noctwolf"></a><a style="border:0" href="https://github.com/xianyun666" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/22339210?s=400&v=4" alt="xianyun666"></a><a style="border:0" href="https://github.com/afunc233" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/19919631?s=400&v=4" alt="afunc233"></a><a style="border:0" href="https://github.com/DinoChan" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/6076257?s=400&v=4" alt="DinoChan"></a><a style="border:0" href="https://github.com/MrZhangYuan" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars2.githubusercontent.com/u/16384123?s=400&v=4" alt="MrZhangYuan"></a></p>
# 感谢以下组织机构提供开源许可
@@ -12,4 +12,4 @@ title: 鸣谢
# 感谢以下捐赠者
<p><a style="border:0" href="https://github.com/bigorange1900" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/49062011?s=400&v=4" alt="bigorange1900"></a><a style="border:0" href="https://github.com/14632791" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars3.githubusercontent.com/u/27358331?s=400&v=4" alt="14632791"></a><a style="border:0" href="https://github.com/IUpdatable" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars2.githubusercontent.com/u/51181716?s=400&v=4" alt="IUpdatable"></a><a style="border:0" href="https://github.com/maplewei" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/13778095?s=400&v=4" alt="maplewei"></a><a style="border:0" href="https://github.com/sunshang-hl" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/34593206?s=400&v=4" alt="sunshang-hl"></a><a style="border:0" href="https://github.com/yangkang326" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars1.githubusercontent.com/u/51224259?s=400&v=4" alt="yangkang326"></a><a style="border:0" href="https://github.com/zmrbak" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars3.githubusercontent.com/u/7257543?s=400&v=4" alt="zmrbak"></a><a style="border:0" href="https://github.com/AFei19911012" target="_blank" rel="noopener"><img width="120" height="120" src="https://avatars0.githubusercontent.com/u/31465314?s=400&v=4" alt="AFei19911012"></a></p>
<p><a style="border:0" href="https://github.com/bigorange1900" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/49062011?s=400&v=4" alt="bigorange1900"></a><a style="border:0" href="https://github.com/14632791" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars3.githubusercontent.com/u/27358331?s=400&v=4" alt="14632791"></a><a style="border:0" href="https://github.com/IUpdatable" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars2.githubusercontent.com/u/51181716?s=400&v=4" alt="IUpdatable"></a><a style="border:0" href="https://github.com/maplewei" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/13778095?s=400&v=4" alt="maplewei"></a><a style="border:0" href="https://github.com/sunshang-hl" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/34593206?s=400&v=4" alt="sunshang-hl"></a><a style="border:0" href="https://github.com/yangkang326" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/51224259?s=400&v=4" alt="yangkang326"></a><a style="border:0" href="https://github.com/zmrbak" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars3.githubusercontent.com/u/7257543?s=400&v=4" alt="zmrbak"></a><a style="border:0" href="https://github.com/AFei19911012" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars0.githubusercontent.com/u/31465314?s=400&v=4" alt="AFei19911012"></a><a style="border:0" href="https://github.com/wayne2006" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars0.githubusercontent.com/u/21210915?s=400&v=4" alt="wayne2006"></a><a style="border:0" href="https://github.com/towerDLH" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars1.githubusercontent.com/u/53053537?s=400&v=4" alt="towerDLH"></a><a style="border:0" href="https://github.com/BluceBosen" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars3.githubusercontent.com/u/24750822?s=400&v=4" alt="BluceBosen"></a><a style="border:0" href="https://github.com/MrZhangYuan" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars2.githubusercontent.com/u/16384123?s=400&v=4" alt="MrZhangYuan"></a><a style="border:0" href="https://github.com/YC946586" target="_blank" rel="noopener"><img width="64" height="64" src="https://avatars2.githubusercontent.com/u/49895722?s=400&v=4" alt="YC946586"></a></p>
@@ -0,0 +1,3 @@
---
title: Effect
---
@@ -0,0 +1,3 @@
---
title: HatchBrushGenerator
---
@@ -0,0 +1,3 @@
---
title: MorphingAnimation
---
-4
View File
@@ -1,4 +0,0 @@
---
title: handykeras
date: 2019-04-02 00:03:48
---
+29 -2
View File
@@ -158,7 +158,7 @@ baidu_push: false
# External url should start with http:// or https://
menu:
主页: / ||
HandyControl:
HandyControl - 2.4.0:
default: /handycontrol/ ||
鸣谢: /tnx/ ||
快速开始: /quick_start/ ||
@@ -184,7 +184,9 @@ menu:
InfoElement 信息元素: /infoElement/ ||
PanelElement 面板元素: /panelElement/ ||
PasswordBoxAttach 密码框专用: /passwordBoxAttach/ ||
RectangleAttach Rectangle专用: /rectangleAttach/ ||
StatusSwitchElement 可切换状态的元素: /statusSwitchElement/ ||
TextBlockAttach 文本块专用: /textBlockAttach/ ||
TipElement 提示元素: /tipElement/ ||
TitleElement 标题元素: /titleElement/ ||
VisualElement 可视化元素: /visualElement/ ||
@@ -201,6 +203,8 @@ menu:
DataGrid 数据表格: /dataGrid/ ||
DatePicker 日期选择器: /datePicker/ ||
Expander 展开框: /expander/ ||
FlowDocument 流文档: /flowDocument/ ||
Frame 导航框架: /frame/ ||
GroupBox 分组框: /groupBox/ ||
Image 图片: /image/ ||
Label 标签: /label/ ||
@@ -212,7 +216,9 @@ menu:
RadioButton 单选按钮: /radioButton/ ||
RichTextBox 富文本框: /richTextBox/ ||
ScrollViewer 滚动视图: /scrollViewer/ ||
Seperator 分隔符: /seperator/ ||
Slider 滑块: /slider/ ||
StatusBar 状态栏: /statusBar/ ||
TabControl 选项卡控件: /tabControl/ ||
TextBlock 文本块: /textBlock/ ||
TextBox 文本框: /textBox/ ||
@@ -225,8 +231,10 @@ menu:
default: /extend_controls/ ||
AnimationPath 动画路径: /animationPath/ ||
Badge 标记: /badge/ ||
ButtonGroup : /buttonGroup/ ||
BlurWindow 背景模糊窗口: /blurWindow/ ||
CalendarWithClock 带有时钟的日历: /calendarWithClock/ ||
Card 卡片: /card/ ||
Carousel 轮播: /carousel/ ||
ChatBubble 对话气泡: /chatBubble/ ||
CirclePanel 圆形布局: /circlePanel/ ||
@@ -240,30 +248,46 @@ menu:
DatePicker 日期选择器: /datePicker/ ||
DateTimePicker 日期时间选择器: /dateTimePicker/ ||
Dialog 对话框: /dialog/ ||
Divider 分割线: /divider/ ||
Drawer 抽屉: /drawer/ ||
FlipClock 翻页时钟: /flipClock/ ||
FloatingBlock 漂浮块: /floatingBlock/ ||
GifImage Gif图片: /gifImage/ ||
GotoTop 回到顶部: /gotoTop/ ||
Gravatar 头像: /gravatar/ ||
Grid 栅格: /grid/ ||
Growl 信息通知: /growl/ ||
HoneycombPanel 蜂窝布局: /honeycombPanel/ ||
ImageBlock 图片块: /imageBlock/ ||
ImageBrowser 图片浏览器: /imageBrowser/ ||
ImageViewer 图片视图: /imageViewer/ ||
Loading 加载条: /loading/ ||
Magnifier 放大镜: /magnifier/ ||
MessageBox 消息对话框: /messageBox/ ||
Notification 桌面通知: /notification/ ||
NotifyIcon 托盘图标: /notifyIcon/ ||
NumericUpDown 数值选择控件: /numericUpDown/ ||
OutlineText 轮廓文本: /outlineText/ ||
Pagination 页码条: /pagination/ ||
PasswordBox 密码框: /passwordBox/ ||
PinBox PIN码框: /pinBox/ ||
PopTip 气泡提示: /popTip/ ||
PopupWindow 弹出窗口: /popupWindow/ ||
PreviewSlider 预览滑块: /previewSlider/ ||
ProgressButton 进度按钮: /progressButton/ ||
RangeSlider 范围滑块: /rangeSlider/ ||
RadioGroup 单选按钮组: /radioGroup/ ||
Rate 评分: /rate/ ||
RelativePanel 相对布局: /relativePanel/ ||
RunningBlock 滚动块: /runningBlock/ ||
ScrollViewer 滚动视图: /scrollViewer/ ||
SearchBar 搜索栏: /searchBar/ ||
Shield 徽章: /shield/ ||
SideMenu 侧边菜单: /sideMenu/ ||
SimpleItemsControl 简单项目控件: /simpleItemsControl/ ||
SimplePanel 简单面板: /simplePanel/ ||
SplitButton 分割按钮: /splitButton/ ||
Sprite 精灵: /sprite/ ||
StepBar 步骤条: /stepBar/ ||
TabControl 选项卡控件: /tabControl/ ||
Tag 标签: /tag/ ||
@@ -281,6 +305,9 @@ menu:
InfoType: /InfoType/ ||
工具和扩展:
default: /tools/ ||
Effect 效果: /effect/ ||
HatchBrushGenerator 阴影画笔生成器: /hatchBrushGenerator/ ||
MorphingAnimation 变形动画: /morphingAnimation/ ||
国际化:
default: /langs/ ||
@@ -872,7 +899,7 @@ needmoreshare2:
# localhost_ignored: true
# CNZZ count
#cnzz_siteid:
cnzz_siteid: 1278600916
# Application Insights
# See: https://azure.microsoft.com/en-us/services/application-insights
@@ -1,5 +1,3 @@
{% if theme.cnzz_siteid %}
<div style="display: none;">
<script src="//s95.cnzz.com/z_stat.php?id={{ theme.cnzz_siteid }}&web_id={{ theme.cnzz_siteid }}"></script>
</div>
<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? "https://" : "http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_{{ theme.cnzz_siteid }}'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s4.cnzz.com/z_stat.php%3Fid%3D{{ theme.cnzz_siteid }}%26online%3D1%26show%3Dline' type='text/javascript'%3E%3C/script%3E"));</script>
{% endif %}
+1
View File
@@ -3,6 +3,7 @@
margin: 3px;
display: inline;
padding: 3px !important;
border: 0;
}
.post-body h2 {
@@ -1,60 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>HandyControl</AssemblyName>
<RootNamespace>HandyControl</RootNamespace>
<Version>2.4.0</Version>
<AssemblyVersion>2.4.0.0</AssemblyVersion>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Copyright © HandyOrg 2018-2019</Copyright>
<Description>Contains some commonly used simple WPF controls</Description>
<Configurations>Debug;Release</Configurations>
<LangVersion>8.0</LangVersion>
<Authors>HandyOrg</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<DocumentationFile>C:\Code\GitHub\HandyControl\src\Core_30\HandyControl_Core_30\HandyControl.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
<Link>Properties\Langs\Lang.Designer.cs</Link>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Lang.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<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.fa.resx">
<Link>Properties\Langs\Lang.fa.resx</Link>
</EmbeddedResource>
<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.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
<ItemGroup>
<None Remove="Themes\Styles\Base\TreeViewBaseStyle.xaml" />
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\dropper.cur">
<Link>Resources\dropper.cur</Link>
</Resource>
</ItemGroup>
</Project>
@@ -1,26 +1,36 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
<AssemblyName>HandyControlDemo</AssemblyName>
<RootNamespace>HandyControlDemo</RootNamespace>
<Version>2.4.0</Version>
<Version>2.5.0</Version>
<ApplicationIcon>..\..\Shared\HandyControlDemo_Shared\Resources\Img\icon.ico</ApplicationIcon>
<Configurations>Debug;Release</Configurations>
<Copyright>Copyright © HandyOrg 2018-2019</Copyright>
<FileVersion>2.4.0.0</FileVersion>
<AssemblyVersion>2.4.0.0</AssemblyVersion>
<Configurations>Debug-Core30;Debug-Core31;Release-Core30;Release-Core31</Configurations>
<Copyright>Copyright © HandyOrg 2018-2020</Copyright>
<FileVersion>2.5.0</FileVersion>
<AssemblyVersion>2.5.0</AssemblyVersion>
<LangVersion>8.0</LangVersion>
<Authors>HandyOrg</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit" Version="6.0.1" />
<PackageReference Include="CommonServiceLocator" Version="2.0.2" />
<PackageReference Include="MvvmLightLibs" Version="5.4.1.1" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
@@ -46,7 +56,8 @@
<Compile Remove="Tools\Helper\CommonHelper.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\HandyControl_Core_30\HandyControl_Core_30.csproj" />
<ProjectReference Include="..\..\Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj" />
<ProjectReference Include="..\HandyControl_Core_GE30\HandyControl_Core_GE30.csproj" />
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Data\DemoInfo.json">
@@ -448,6 +459,30 @@
<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.en.resx">
@@ -459,12 +494,20 @@
<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.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="..\..\Shared\HandyControlDemo_Shared\Properties\App.config">
<Link>Properties\App.config</Link>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="..\..\Shared\HandyControlDemo_Shared\Data\MessageToken.tt">
<Link>Data\MessageToken.tt</Link>
@@ -0,0 +1,140 @@
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<UseWPF>true</UseWPF>
<AssemblyName>HandyControl</AssemblyName>
<RootNamespace>HandyControl</RootNamespace>
<Version>2.5.0</Version>
<AssemblyVersion>2.5.0</AssemblyVersion>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
<Copyright>Copyright © HandyOrg 2018-2020</Copyright>
<Description>Contains some commonly used simple WPF controls</Description>
<Configurations>Debug-Core30;Debug-Core31;Release-Core30;Release-Core31</Configurations>
<LangVersion>8.0</LangVersion>
<Authors>HandyOrg</Authors>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core30|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.0</TargetFramework>
<DocumentationFile>C:\Code\GitHub\HandyControl\src\Core_GE30\HandyControl_Core_GE30\HandyControl.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release-Core31|AnyCPU'">
<DefineConstants>TRACE;Core</DefineConstants>
<TargetFramework>netcoreapp3.1</TargetFramework>
<DocumentationFile>C:\Code\GitHub\HandyControl\src\Core_GE30\HandyControl_Core_GE30\HandyControl.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
<Link>Properties\Langs\Lang.Designer.cs</Link>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Lang.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<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.fa.resx">
<Link>Properties\Langs\Lang.fa.resx</Link>
</EmbeddedResource>
<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.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\CoreAssemblyInfo.cs">
<Link>Properties\CoreAssemblyInfo.cs</Link>
</Compile>
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
<ItemGroup>
<None Remove="Themes\Styles\Base\TreeViewBaseStyle.xaml" />
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\dropper.cur">
<Link>Resources\dropper.cur</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\BrightnessEffect.ps">
<Link>Resources\Effects\BrightnessEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorComplementEffect.ps">
<Link>Resources\Effects\ColorComplementEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorMatrixEffect.ps">
<Link>Resources\Effects\ColorMatrixEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ContrastEffect.ps">
<Link>Resources\Effects\ContrastEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottom.png">
<Link>Resources\Images\GlowWindow\bottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottomleft.png">
<Link>Resources\Images\GlowWindow\bottomleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottomright.png">
<Link>Resources\Images\GlowWindow\bottomright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornerbottomleft.png">
<Link>Resources\Images\GlowWindow\cornerbottomleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornerbottomright.png">
<Link>Resources\Images\GlowWindow\cornerbottomright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornertopleft.png">
<Link>Resources\Images\GlowWindow\cornertopleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornertopright.png">
<Link>Resources\Images\GlowWindow\cornertopright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\left.png">
<Link>Resources\Images\GlowWindow\left.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\leftbottom.png">
<Link>Resources\Images\GlowWindow\leftbottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\lefttop.png">
<Link>Resources\Images\GlowWindow\lefttop.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\right.png">
<Link>Resources\Images\GlowWindow\right.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\rightbottom.png">
<Link>Resources\Images\GlowWindow\rightbottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\righttop.png">
<Link>Resources\Images\GlowWindow\righttop.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\top.png">
<Link>Resources\Images\GlowWindow\top.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\topleft.png">
<Link>Resources\Images\GlowWindow\topleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\topright.png">
<Link>Resources\Images\GlowWindow\topright.png</Link>
</Resource>
</ItemGroup>
</Project>
@@ -3,6 +3,7 @@
xmlns:controls="clr-namespace:HandyControl.Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Basic/Sizes.xaml"/>
<ResourceDictionary Source="../../Basic/Converters.xaml"/>
<ResourceDictionary Source="BaseStyle.xaml"/>
<ResourceDictionary Source="ScrollViewerBaseStyle.xaml"/>
@@ -47,10 +48,10 @@
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MinHeight="32"/>
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<StackPanel Orientation="Horizontal" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
@@ -102,7 +103,7 @@
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="controls:ScrollViewer.IsEnableInertia" Value="False"/>
<Setter Property="controls:ScrollViewer.IsInertiaEnabled" Value="False"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="VirtualizingPanel.IsVirtualizing" Value="True"/>
@@ -110,7 +111,7 @@
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
<controls:ScrollViewer x:Name="_tv_scrollviewer_" IsEnableInertia="{Binding Path=(controls:ScrollViewer.IsEnableInertia),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}">
<controls:ScrollViewer x:Name="_tv_scrollviewer_" IsInertiaEnabled="{Binding Path=(controls: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/>
</controls:ScrollViewer>
</Border>
@@ -293,17 +293,11 @@
<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}}" Style="{StaticResource ButtonIcon}" controls:IconElement.Geometry="{StaticResource AllGeometry}" Foreground="{DynamicResource PrimaryBrush}"/>
<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}" controls: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}"/>
<Grid Grid.Column="1" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" VerticalAlignment="Bottom" x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
<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">
@@ -73,7 +73,7 @@
<ScrollViewer Grid.Column="1" Grid.Row="0">
<TextBlock Margin="10,39,10,10" Text="{TemplateBinding Message}" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</ScrollViewer>
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,10,0,16" Orientation="Horizontal" Background="{DynamicResource RegionBrush}" HorizontalAlignment="Center">
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,10,0,16" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Visibility="{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource Boolean2VisibilityConverter}}" IsCancel="True" MinWidth="88" Command="interactivity:ControlCommands.Cancel" Content="{x:Static langs:Lang.Cancel}" Margin="5,0"/>
<Button Visibility="{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource Boolean2VisibilityConverter}}" IsDefault="True" MinWidth="88" Command="interactivity:ControlCommands.Confirm" Content="{x:Static langs:Lang.Confirm}" Margin="5,0" Style="{StaticResource ButtonPrimary}"/>
<Button Visibility="{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource Boolean2VisibilityConverter}}" IsCancel="True" MinWidth="88" Command="interactivity:ControlCommands.No" Content="{x:Static langs:Lang.No}" Margin="5,0"/>
@@ -48,18 +48,15 @@
</Style>
<Style TargetType="Window">
<Setter Property="UseLayoutRounding" Value="True"/>
</Style>
<Style x:Key="WindowDefault" TargetType="Window">
<Setter Property="Background" Value="{DynamicResource BackgroundBrush}"/>
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="UseLayoutRounding" Value="True"/>
</Style>
<Style x:Key="WindowWin10" TargetType="controls:Window">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#262e2f"/>
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="UseLayoutRounding" Value="True"/>
<Setter Property="NonClientAreaBackground" Value="{DynamicResource RegionBrush}"/>
@@ -120,7 +117,7 @@
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter/>
<ContentPresenter ClipToBounds="True"/>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed" WindowChrome.ResizeGripDirection="BottomRight" />
</Grid>
@@ -181,6 +178,12 @@
<Setter Property="Background" Value="Transparent"/>
</Style>
<Style x:Key="WindowGlow" BasedOn="{StaticResource WindowWin10}" TargetType="controls:GlowWindow">
<Setter Property="ActiveGlowColor" Value="#262e2f"/>
<Setter Property="InactiveGlowColor" Value="{DynamicResource BorderColor}"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
<Style TargetType="controls:ImageBrowser">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="MinWidth" Value="400"/>
+100 -47
View File
@@ -17,16 +17,18 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControlDemo_Shared", "
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Net_40", "Net_40", "{35E3F9C0-8924-4536-BE09-F3761FDBF066}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_30", "Core_30", "{B838C973-06F0-48A1-B259-A357AAF2D8D4}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_GE30", "Core_GE30", "{B838C973-06F0-48A1-B259-A357AAF2D8D4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_30", "Core_30\HandyControl_Core_30\HandyControl_Core_30.csproj", "{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_GE30", "Core_GE30\HandyControl_Core_GE30\HandyControl_Core_GE30.csproj", "{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core30", "Core_30\HandyControlDemo_Core_30\HandyControlDemo_Core30.csproj", "{D7107690-8592-4F9F-9379-9B82C1C15D2A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core_GE30", "Core_GE30\HandyControlDemo_Core_GE30\HandyControlDemo_Core_GE30.csproj", "{D7107690-8592-4F9F-9379-9B82C1C15D2A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControl_Net_40", "Net_40\HandyControl_Net_40\HandyControl_Net_40.csproj", "{32204503-2EF0-4681-AE13-AA1FEB6C658A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Net_40", "Net_40\HandyControlDemo_Net_40\HandyControlDemo_Net_40.csproj", "{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 4
@@ -38,12 +40,14 @@ Global
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug-Core30|Any CPU = Debug-Core30|Any CPU
Debug-Core31|Any CPU = Debug-Core31|Any CPU
Debug-Net40|Any CPU = Debug-Net40|Any CPU
Debug-Net45|Any CPU = Debug-Net45|Any CPU
Debug-Net462|Any CPU = Debug-Net462|Any CPU
Debug-Net47|Any CPU = Debug-Net47|Any CPU
Debug-Net48|Any CPU = Debug-Net48|Any CPU
Release-Core30|Any CPU = Release-Core30|Any CPU
Release-Core31|Any CPU = Release-Core31|Any CPU
Release-Net40|Any CPU = Release-Net40|Any CPU
Release-Net45|Any CPU = Release-Net45|Any CPU
Release-Net462|Any CPU = Release-Net462|Any CPU
@@ -52,6 +56,7 @@ Global
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Core30|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Core31|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net40|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
@@ -62,6 +67,7 @@ Global
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Core30|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Core31|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net40|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
@@ -72,6 +78,7 @@ Global
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Core30|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Core31|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net40|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
@@ -82,6 +89,7 @@ Global
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Core30|Any CPU.ActiveCfg = Release-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Core31|Any CPU.ActiveCfg = Release-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net40|Any CPU.ActiveCfg = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
@@ -91,43 +99,64 @@ Global
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.Build.0 = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net462|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.Build.0 = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net462|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.ActiveCfg = Debug-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core30|Any CPU.Build.0 = Debug-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core31|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Core31|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net40|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net40|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net45|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net45|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net462|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net462|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net47|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net47|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net48|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Debug-Net48|Any CPU.Build.0 = Debug-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.ActiveCfg = Release-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core30|Any CPU.Build.0 = Release-Core30|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core31|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Core31|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net40|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net40|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net45|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net462|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net47|Any CPU.Build.0 = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.ActiveCfg = Release-Core31|Any CPU
{BE4A567D-B6E0-413E-8F64-E1A53B4F9366}.Release-Net48|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.ActiveCfg = Debug-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core30|Any CPU.Build.0 = Debug-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core31|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Core31|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net40|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net40|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net45|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net45|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net462|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net462|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net47|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net47|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net48|Any CPU.ActiveCfg = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Debug-Net48|Any CPU.Build.0 = Debug-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.ActiveCfg = Release-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core30|Any CPU.Build.0 = Release-Core30|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core31|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Core31|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net40|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net40|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net45|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net462|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net47|Any CPU.Build.0 = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.ActiveCfg = Release-Core31|Any CPU
{D7107690-8592-4F9F-9379-9B82C1C15D2A}.Release-Net48|Any CPU.Build.0 = Release-Core31|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Core31|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net40|Any CPU.Build.0 = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
@@ -135,17 +164,15 @@ Global
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Core31|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net40|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{32204503-2EF0-4681-AE13-AA1FEB6C658A}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Core30|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Core31|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net40|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net40|Any CPU.Build.0 = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net45|Any CPU.ActiveCfg = Debug|Any CPU
@@ -153,16 +180,41 @@ Global
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net47|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug-Net48|Any CPU.ActiveCfg = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Core30|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Core31|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net40|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net40|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net45|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net45|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net462|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net462|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net47|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net47|Any CPU.Build.0 = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net48|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release-Net48|Any CPU.Build.0 = Release|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core30|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core30|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core31|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Core31|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net40|Any CPU.ActiveCfg = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net40|Any CPU.Build.0 = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.Build.0 = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core30|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core30|Any CPU.Build.0 = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core31|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Core31|Any CPU.Build.0 = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net40|Any CPU.ActiveCfg = Release-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net40|Any CPU.Build.0 = Release-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.ActiveCfg = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.Build.0 = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.ActiveCfg = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -176,6 +228,7 @@ Global
{D7107690-8592-4F9F-9379-9B82C1C15D2A} = {B838C973-06F0-48A1-B259-A357AAF2D8D4}
{32204503-2EF0-4681-AE13-AA1FEB6C658A} = {35E3F9C0-8924-4536-BE09-F3761FDBF066}
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231} = {35E3F9C0-8924-4536-BE09-F3761FDBF066}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
@@ -9,11 +9,13 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControl_Shared", "Shar
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControlDemo_Shared", "Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.shproj", "{C4694269-C9B8-45D5-87F8-D0088C532510}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_30", "Core_30", "{7BB7D82E-48B1-4673-91B6-37D563A0A624}"
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core_GE30", "Core_GE30", "{7BB7D82E-48B1-4673-91B6-37D563A0A624}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_30", "Core_30\HandyControl_Core_30\HandyControl_Core_30.csproj", "{A85722CF-CDF4-4164-94E4-EB71E543361A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControl_Core_GE30", "Core_GE30\HandyControl_Core_GE30\HandyControl_Core_GE30.csproj", "{A85722CF-CDF4-4164-94E4-EB71E543361A}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core30", "Core_30\HandyControlDemo_Core_30\HandyControlDemo_Core30.csproj", "{BF712555-531A-4C8D-9AB5-3109DC178A8E}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HandyControlDemo_Core_GE30", "Core_GE30\HandyControlDemo_Core_GE30\HandyControlDemo_Core_GE30.csproj", "{BF712555-531A-4C8D-9AB5-3109DC178A8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
@@ -33,6 +35,10 @@ Global
{BF712555-531A-4C8D-9AB5-3109DC178A8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BF712555-531A-4C8D-9AB5-3109DC178A8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BF712555-531A-4C8D-9AB5-3109DC178A8E}.Release|Any CPU.Build.0 = Release|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.Build.0 = Release-Net48|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -42,6 +48,7 @@ Global
{C4694269-C9B8-45D5-87F8-D0088C532510} = {60DCDCCA-3902-49EB-BC24-488143BE832E}
{A85722CF-CDF4-4164-94E4-EB71E543361A} = {7BB7D82E-48B1-4673-91B6-37D563A0A624}
{BF712555-531A-4C8D-9AB5-3109DC178A8E} = {7BB7D82E-48B1-4673-91B6-37D563A0A624}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {60DCDCCA-3902-49EB-BC24-488143BE832E}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {6C8B9B9F-B396-4C31-BA28-11BCB1ED94C5}
+7
View File
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControl_Net_40", "Net_
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Net_40", "Net_40\HandyControlDemo_Net_40\HandyControlDemo_Net_40.csproj", "{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControl_Shared\HandyControl_Shared.projitems*{32204503-2ef0-4681-ae13-aa1feb6c658a}*SharedItemsImports = 4
@@ -35,6 +37,10 @@ Global
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231}.Release|Any CPU.Build.0 = Release|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.ActiveCfg = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug|Any CPU.Build.0 = Debug-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.ActiveCfg = Release-Net40|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release|Any CPU.Build.0 = Release-Net40|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -44,6 +50,7 @@ Global
{C4694269-C9B8-45D5-87F8-D0088C532510} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{32204503-2EF0-4681-AE13-AA1FEB6C658A} = {763DABFC-950A-4965-97CB-15C59A928401}
{D8AE88F8-C36B-4D10-A7F9-22FFCFBA5231} = {763DABFC-950A-4965-97CB-15C59A928401}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
+31 -12
View File
@@ -15,6 +15,8 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControl_Shared", "Shar
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "HandyControlDemo_Shared", "Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.shproj", "{C4694269-C9B8-45D5-87F8-D0088C532510}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HandyControlDemo_Code", "Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj", "{D8A4748C-0500-4F63-BC47-3506658C68F7}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\HandyControlDemo_Shared\HandyControlDemo_Shared.projitems*{9a7b52e6-94bb-4e7e-bb6a-7cf6761b79a7}*SharedItemsImports = 4
@@ -49,22 +51,38 @@ Global
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{DC966E3D-BCFF-4652-98CF-070E5494749A}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.Build.0 = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net47|Any CPU.Build.0 = Debug-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.Build.0 = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.ActiveCfg = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.ActiveCfg = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net45|Any CPU.Build.0 = Debug-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.ActiveCfg = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net462|Any CPU.Build.0 = Debug-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.ActiveCfg = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net47|Any CPU.Build.0 = Debug-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.ActiveCfg = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Debug-Net48|Any CPU.Build.0 = Debug-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.ActiveCfg = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net45|Any CPU.Build.0 = Release-Net45|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.ActiveCfg = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net462|Any CPU.Build.0 = Release-Net462|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.ActiveCfg = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net47|Any CPU.Build.0 = Release-Net47|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.ActiveCfg = Release-Net48|Any CPU
{D8A4748C-0500-4F63-BC47-3506658C68F7}.Release-Net48|Any CPU.Build.0 = Release-Net48|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -74,6 +92,7 @@ Global
{9A7B52E6-94BB-4E7E-BB6A-7CF6761B79A7} = {2F551C62-77F7-4FA5-8AD7-FCF53E92AE08}
{AAC11083-FACA-405D-9197-5C1212D65656} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{C4694269-C9B8-45D5-87F8-D0088C532510} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
{D8A4748C-0500-4F63-BC47-3506658C68F7} = {0938270D-E9F0-489B-AF9E-5C5AD7C69897}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4636382-1A18-4079-A3E7-054DD970F179}
@@ -57,6 +57,9 @@
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit">
<Version>6.0.1</Version>
</PackageReference>
<PackageReference Include="MvvmLightLibs">
<Version>5.4.1.1</Version>
</PackageReference>
@@ -395,6 +398,10 @@
</Resource>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj">
<Project>{d8a4748c-0500-4f63-bc47-3506658c68f7}</Project>
<Name>HandyControlDemo_Code</Name>
</ProjectReference>
<ProjectReference Include="..\HandyControl_Net_40\HandyControl_Net_40.csproj">
<Project>{32204503-2ef0-4681-ae13-aa1feb6c658a}</Project>
<Name>HandyControl_Net_40</Name>
@@ -410,12 +417,20 @@
<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.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Lang.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="..\..\Shared\HandyControlDemo_Shared\Properties\App.config">
<Link>Properties\App.config</Link>
</None>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\fabric-icons.ttf">
<Link>Resources\fabric-icons.ttf</Link>
@@ -430,6 +445,12 @@
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>MessageToken.cs</LastGenOutput>
</Content>
<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\TransformRelative_16x.png">
<Link>Resources\Img\LeftMainContent\TransformRelative_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>
@@ -511,6 +532,24 @@
<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\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>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Data\DemoInfo.json">
@@ -37,8 +37,8 @@
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\NetAssemblyInfo.cs">
<Link>Properties\NetAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
<Link>Properties\Langs\Lang.Designer.cs</Link>
@@ -98,6 +98,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.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
@@ -109,6 +112,73 @@
<Link>Resources\dropper.cur</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\BrightnessEffect.ps">
<Link>Resources\Effects\BrightnessEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorComplementEffect.ps">
<Link>Resources\Effects\ColorComplementEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorMatrixEffect.ps">
<Link>Resources\Effects\ColorMatrixEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ContrastEffect.ps">
<Link>Resources\Effects\ContrastEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottom.png">
<Link>Resources\Images\GlowWindow\bottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottomleft.png">
<Link>Resources\Images\GlowWindow\bottomleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottomright.png">
<Link>Resources\Images\GlowWindow\bottomright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornerbottomleft.png">
<Link>Resources\Images\GlowWindow\cornerbottomleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornerbottomright.png">
<Link>Resources\Images\GlowWindow\cornerbottomright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornertopleft.png">
<Link>Resources\Images\GlowWindow\cornertopleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornertopright.png">
<Link>Resources\Images\GlowWindow\cornertopright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\left.png">
<Link>Resources\Images\GlowWindow\left.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\leftbottom.png">
<Link>Resources\Images\GlowWindow\leftbottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\lefttop.png">
<Link>Resources\Images\GlowWindow\lefttop.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\right.png">
<Link>Resources\Images\GlowWindow\right.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\rightbottom.png">
<Link>Resources\Images\GlowWindow\rightbottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\righttop.png">
<Link>Resources\Images\GlowWindow\righttop.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\top.png">
<Link>Resources\Images\GlowWindow\top.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\topleft.png">
<Link>Resources\Images\GlowWindow\topleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\topright.png">
<Link>Resources\Images\GlowWindow\topright.png</Link>
</Resource>
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -3,6 +3,7 @@
xmlns:controls="clr-namespace:HandyControl.Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Basic/Sizes.xaml"/>
<ResourceDictionary Source="../../Basic/Converters.xaml"/>
<ResourceDictionary Source="BaseStyle.xaml"/>
<ResourceDictionary Source="ScrollViewerBaseStyle.xaml"/>
@@ -47,10 +48,10 @@
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MinHeight="32"/>
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<StackPanel Orientation="Horizontal" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
@@ -102,14 +103,14 @@
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="controls:ScrollViewer.IsEnableInertia" Value="False"/>
<Setter Property="controls:ScrollViewer.IsInertiaEnabled" Value="False"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
<controls:ScrollViewer x:Name="_tv_scrollviewer_" IsEnableInertia="{Binding Path=(controls:ScrollViewer.IsEnableInertia),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}">
<controls:ScrollViewer x:Name="_tv_scrollviewer_" IsInertiaEnabled="{Binding Path=(controls: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/>
</controls:ScrollViewer>
</Border>
@@ -294,17 +294,11 @@
<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}}" Style="{StaticResource ButtonIcon}" controls:IconElement.Geometry="{StaticResource AllGeometry}" Foreground="{DynamicResource PrimaryBrush}"/>
<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}" controls: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}"/>
<Grid Grid.Column="1" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" VerticalAlignment="Bottom" x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
<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">
@@ -74,7 +74,7 @@
<ScrollViewer Grid.Column="1" Grid.Row="0">
<TextBlock Margin="10,39,10,10" Text="{TemplateBinding Message}" TextWrapping="Wrap" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</ScrollViewer>
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,10,0,16" Orientation="Horizontal" Background="{DynamicResource RegionBrush}" HorizontalAlignment="Center">
<StackPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1" Margin="0,10,0,16" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Visibility="{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource Boolean2VisibilityConverter}}" IsCancel="True" MinWidth="88" Command="interactivity:ControlCommands.Cancel" Content="{x:Static langs:Lang.Cancel}" Margin="5,0"/>
<Button Visibility="{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource Boolean2VisibilityConverter}}" IsDefault="True" MinWidth="88" Command="interactivity:ControlCommands.Confirm" Content="{x:Static langs:Lang.Confirm}" Margin="5,0" Style="{StaticResource ButtonPrimary}"/>
<Button Visibility="{Binding IsEnabled,RelativeSource={RelativeSource Self},Converter={StaticResource Boolean2VisibilityConverter}}" IsCancel="True" MinWidth="88" Command="interactivity:ControlCommands.No" Content="{x:Static langs:Lang.No}" Margin="5,0"/>
@@ -49,18 +49,15 @@
</Style>
<Style TargetType="Window">
<Setter Property="UseLayoutRounding" Value="True"/>
</Style>
<Style x:Key="WindowDefault" BasedOn="{x:Null}" TargetType="Window">
<Setter Property="Background" Value="{DynamicResource BackgroundBrush}"/>
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="UseLayoutRounding" Value="True"/>
</Style>
<Style x:Key="WindowWin10" BasedOn="{x:Null}" TargetType="controls:Window">
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderBrush" Value="#262e2f"/>
<Setter Property="Background" Value="{DynamicResource RegionBrush}"/>
<Setter Property="Background" Value="{DynamicResource SecondaryRegionBrush}"/>
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
<Setter Property="UseLayoutRounding" Value="True"/>
<Setter Property="NonClientAreaBackground" Value="{DynamicResource RegionBrush}"/>
@@ -121,7 +118,7 @@
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter/>
<ContentPresenter ClipToBounds="True"/>
</AdornerDecorator>
<ResizeGrip Width="10" Height="10" x:Name="ResizeGrip" HorizontalAlignment="Right" VerticalAlignment="Bottom" Grid.Row="1" IsTabStop="False" Visibility="Collapsed"/>
</Grid>
@@ -182,6 +179,12 @@
<Setter Property="Background" Value="Transparent"/>
</Style>
<Style x:Key="WindowGlow" BasedOn="{StaticResource WindowWin10}" TargetType="controls:GlowWindow">
<Setter Property="ActiveGlowColor" Value="#262e2f"/>
<Setter Property="InactiveGlowColor" Value="{DynamicResource BorderColor}"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
<Style TargetType="controls:ImageBrowser">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="MinWidth" Value="400"/>
@@ -127,12 +127,19 @@
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shared\HandyControlDemo_Code\HandyControlDemo_Code.csproj">
<Project>{d8a4748c-0500-4f63-bc47-3506658c68f7}</Project>
<Name>HandyControlDemo_Code</Name>
</ProjectReference>
<ProjectReference Include="..\HandyControl_Net_GE45\HandyControl_Net_GE45.csproj">
<Project>{dc966e3d-bcff-4652-98cf-070e5494749a}</Project>
<Name>HandyControl_Net_GE45</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="AvalonEdit">
<Version>6.0.1</Version>
</PackageReference>
<PackageReference Include="MvvmLightLibs">
<Version>5.4.1.1</Version>
</PackageReference>
@@ -478,6 +485,9 @@
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.fr.resx">
<Link>Properties\Langs\Lang.fr.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControlDemo_Shared\Properties\Langs\Lang.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
@@ -485,6 +495,11 @@
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="..\..\Shared\HandyControlDemo_Shared\Properties\App.config">
<Link>Properties\App.config</Link>
</None>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\Img\LeftMainContent\RepeatButton_16x.png">
<Link>Resources\Img\LeftMainContent\RepeatButton_16x.png</Link>
@@ -496,6 +511,12 @@
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>MessageToken.cs</LastGenOutput>
</Content>
<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\TransformRelative_16x.png">
<Link>Resources\Img\LeftMainContent\TransformRelative_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>
@@ -574,6 +595,24 @@
<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\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>
<Resource Include="..\..\Shared\HandyControlDemo_Shared\Resources\fabric-icons.ttf">
@@ -112,8 +112,8 @@
<LangVersion>8.0</LangVersion>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\NetAssemblyInfo.cs">
<Link>Properties\NetAssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.Designer.cs">
<Link>Properties\Langs\Lang.Designer.cs</Link>
@@ -168,6 +168,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.ko-KR.resx">
<Link>Properties\Langs\Lang.ko-KR.resx</Link>
</EmbeddedResource>
<EmbeddedResource Include="..\..\Shared\HandyControl_Shared\Properties\Langs\Lang.resx">
<Link>Properties\Langs\Lang.resx</Link>
<Generator>PublicResXFileCodeGenerator</Generator>
@@ -180,6 +183,73 @@
<Link>Resources\dropper.cur</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\BrightnessEffect.ps">
<Link>Resources\Effects\BrightnessEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorComplementEffect.ps">
<Link>Resources\Effects\ColorComplementEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ColorMatrixEffect.ps">
<Link>Resources\Effects\ColorMatrixEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\ContrastEffect.ps">
<Link>Resources\Effects\ContrastEffect.ps</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Effects\GrayScaleEffect.ps">
<Link>Resources\Effects\GrayScaleEffect.ps</Link>
</Resource>
</ItemGroup>
<ItemGroup>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottom.png">
<Link>Resources\Images\GlowWindow\bottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottomleft.png">
<Link>Resources\Images\GlowWindow\bottomleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\bottomright.png">
<Link>Resources\Images\GlowWindow\bottomright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornerbottomleft.png">
<Link>Resources\Images\GlowWindow\cornerbottomleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornerbottomright.png">
<Link>Resources\Images\GlowWindow\cornerbottomright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornertopleft.png">
<Link>Resources\Images\GlowWindow\cornertopleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\cornertopright.png">
<Link>Resources\Images\GlowWindow\cornertopright.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\left.png">
<Link>Resources\Images\GlowWindow\left.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\leftbottom.png">
<Link>Resources\Images\GlowWindow\leftbottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\lefttop.png">
<Link>Resources\Images\GlowWindow\lefttop.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\right.png">
<Link>Resources\Images\GlowWindow\right.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\rightbottom.png">
<Link>Resources\Images\GlowWindow\rightbottom.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\righttop.png">
<Link>Resources\Images\GlowWindow\righttop.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\top.png">
<Link>Resources\Images\GlowWindow\top.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\topleft.png">
<Link>Resources\Images\GlowWindow\topleft.png</Link>
</Resource>
<Resource Include="..\..\Shared\HandyControl_Shared\Resources\Images\GlowWindow\topright.png">
<Link>Resources\Images\GlowWindow\topright.png</Link>
</Resource>
</ItemGroup>
<Import Project="..\..\Shared\HandyControl_Shared\HandyControl_Shared.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -3,12 +3,14 @@
xmlns:controls="clr-namespace:HandyControl.Controls">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../../Basic/Sizes.xaml"/>
<ResourceDictionary Source="../../Basic/Converters.xaml"/>
<ResourceDictionary Source="BaseStyle.xaml"/>
<ResourceDictionary Source="ScrollViewerBaseStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
<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">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Width" Value="16"/>
@@ -47,10 +49,10 @@
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.RowDefinitions>
<RowDefinition MinHeight="32"/>
<RowDefinition MinHeight="{StaticResource DefaultControlHeight}"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<Border x:Name="Bd" CornerRadius="{Binding Path=(controls:BorderElement.CornerRadius),RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
<StackPanel Orientation="Horizontal" Margin="{Binding Converter={StaticResource TreeViewItemMarginConverter}, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/>
<ContentPresenter VerticalAlignment="Center" x:Name="PART_Header" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
@@ -102,7 +104,7 @@
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.PanningMode" Value="Both"/>
<Setter Property="controls:ScrollViewer.IsEnableInertia" Value="False"/>
<Setter Property="controls:ScrollViewer.IsInertiaEnabled" Value="False"/>
<Setter Property="Stylus.IsFlicksEnabled" Value="False"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="VirtualizingPanel.IsVirtualizing" Value="True"/>
@@ -110,7 +112,7 @@
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true">
<controls:ScrollViewer x:Name="_tv_scrollviewer_" IsEnableInertia="{Binding Path=(controls:ScrollViewer.IsEnableInertia),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}">
<controls:ScrollViewer x:Name="_tv_scrollviewer_" IsInertiaEnabled="{Binding Path=(controls: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/>
</controls:ScrollViewer>
</Border>
@@ -293,17 +293,11 @@
<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}}" Style="{StaticResource ButtonIcon}" controls:IconElement.Geometry="{StaticResource AllGeometry}" Foreground="{DynamicResource PrimaryBrush}"/>
<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}" controls: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}"/>
<Grid Grid.Column="1" Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<ScrollBar Style="{StaticResource ScrollBarBaseStyle}" Opacity="0" VerticalAlignment="Bottom" x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
</Grid>
<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">
Loaded 100 of 371 files, more files were not shown because too many files have changed in this diff. Show more