diff --git a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj
index 9b2ac39f..055fd6d1 100644
--- a/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj
+++ b/src/Core_30/HandyControlDemo_Core_30/HandyControlDemo_Core30.csproj
@@ -436,6 +436,9 @@
Resources\Img\LeftMainContent\DottedSplitter_16x.png
+
+ Resources\Img\LeftMainContent\PopupCursor_16x.png
+
diff --git a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj
index 76b42023..91e7c38f 100644
--- a/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj
+++ b/src/Net_40/HandyControlDemo_Net_40/HandyControlDemo_Net_40.csproj
@@ -430,6 +430,9 @@
TextTemplatingFileGenerator
MessageToken.cs
+
+ Resources\Img\LeftMainContent\PopupCursor_16x.png
+
Resources\Img\Cover.png
diff --git a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj
index 28ac4d6e..b3b7a445 100644
--- a/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj
+++ b/src/Net_GE45/HandyControlDemo_Net_GE45/HandyControlDemo_Net_GE45.csproj
@@ -496,6 +496,9 @@
TextTemplatingFileGenerator
MessageToken.cs
+
+ Resources\Img\LeftMainContent\PopupCursor_16x.png
+
Resources\Img\Cover.png
diff --git a/src/Shared/HandyControlDemo_Shared/App.xaml.cs b/src/Shared/HandyControlDemo_Shared/App.xaml.cs
index cd97b41f..6ba5a34f 100644
--- a/src/Shared/HandyControlDemo_Shared/App.xaml.cs
+++ b/src/Shared/HandyControlDemo_Shared/App.xaml.cs
@@ -19,10 +19,10 @@ namespace HandyControlDemo
[SuppressMessage("代码质量", "IDE0052:删除未读的私有成员", Justification = "<挂起>")]
private static Mutex AppMutex;
- public App()
+ protected override void OnStartup(StartupEventArgs e)
{
AppMutex = new Mutex(true, "HandyControlDemo", out var createdNew);
-
+
if (!createdNew)
{
var current = Process.GetCurrentProcess();
@@ -37,29 +37,28 @@ namespace HandyControlDemo
}
Shutdown();
}
- }
-
- protected override void OnStartup(StartupEventArgs e)
- {
- var splashScreen = new SplashScreen("Resources/Img/Cover.png");
- splashScreen.Show(true);
-
- base.OnStartup(e);
-
- UpdateRegistry();
-
- ShutdownMode = ShutdownMode.OnMainWindowClose;
- GlobalData.Init();
- ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
-
- if (GlobalData.Config.Skin != SkinType.Default)
+ else
{
- UpdateSkin(GlobalData.Config.Skin);
+ var splashScreen = new SplashScreen("Resources/Img/Cover.png");
+ splashScreen.Show(true);
+
+ base.OnStartup(e);
+
+ UpdateRegistry();
+
+ ShutdownMode = ShutdownMode.OnMainWindowClose;
+ GlobalData.Init();
+ ConfigHelper.Instance.SetLang(GlobalData.Config.Lang);
+
+ if (GlobalData.Config.Skin != SkinType.Default)
+ {
+ UpdateSkin(GlobalData.Config.Skin);
+ }
+
+ ConfigHelper.Instance.SetSystemVersionInfo(CommonHelper.GetSystemVersionInfo());
+
+ ServicePointManager.SecurityProtocol = (SecurityProtocolType)(SslProtocols)0x00000C00;
}
-
- ConfigHelper.Instance.SetSystemVersionInfo(CommonHelper.GetSystemVersionInfo());
-
- ServicePointManager.SecurityProtocol = (SecurityProtocolType)(SslProtocols)0x00000C00;
}
protected override void OnExit(ExitEventArgs e)
diff --git a/src/Shared/HandyControlDemo_Shared/Data/GlobalData.cs b/src/Shared/HandyControlDemo_Shared/Data/GlobalData.cs
index 92e46551..d49cb4c8 100644
--- a/src/Shared/HandyControlDemo_Shared/Data/GlobalData.cs
+++ b/src/Shared/HandyControlDemo_Shared/Data/GlobalData.cs
@@ -12,7 +12,7 @@ namespace HandyControlDemo.Data
try
{
var json = File.ReadAllText(AppConfig.SavePath);
- Config = JsonConvert.DeserializeObject(json);
+ Config = (string.IsNullOrEmpty(json) ? new AppConfig() : JsonConvert.DeserializeObject(json)) ?? new AppConfig();
}
catch
{
diff --git a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems
index 5d3e7bc1..09b4abbc 100644
--- a/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems
+++ b/src/Shared/HandyControlDemo_Shared/HandyControlDemo_Shared.projitems
@@ -161,7 +161,9 @@
PasswordBoxDemoCtl.xaml
-
+
+ PoptipDemoCtl.xaml
+
PreviewSliderDemoCtl.xaml
diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs
index 3b0b3f5e..397ce9ed 100644
--- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs
+++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.Designer.cs
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// 此代码由工具生成。
+// 运行时版本:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// 对此文件的更改可能会导致不正确的行为,并且如果
+// 重新生成代码,这些更改将会丢失。
//
//------------------------------------------------------------------------------
@@ -13,12 +13,12 @@ namespace HandyControlDemo.Properties.Langs {
///
- /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// 一个强类型的资源类,用于查找本地化的字符串等。
///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
+ // 此类是由 StronglyTypedResourceBuilder
+ // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
+ // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
+ // (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
@@ -33,7 +33,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Returns the cached ResourceManager instance used by this class.
+ /// 返回此类使用的缓存的 ResourceManager 实例。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +47,8 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
+ /// 重写当前线程的 CurrentUICulture 属性
+ /// 重写当前线程的 CurrentUICulture 属性。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
@@ -61,7 +61,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 关于.
+ /// 查找类似 关于 的本地化字符串。
///
public static string About {
get {
@@ -70,7 +70,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 动画路径.
/// 查找类似 添加项 的本地化字符串。
///
public static string AddItem {
@@ -89,7 +88,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 托盘图标已打开,将隐藏窗口而不是关闭程序.
+ /// 查找类似 托盘图标已打开,将隐藏窗口而不是关闭程序 的本地化字符串。
///
public static string AppClosingTip {
get {
@@ -98,7 +97,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 询问.
+ /// 查找类似 询问 的本地化字符串。
///
public static string Ask {
get {
@@ -107,7 +106,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 标记.
+ /// 查找类似 标记 的本地化字符串。
///
public static string Badge {
get {
@@ -116,7 +115,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 填写基本信息.
+ /// 查找类似 填写基本信息 的本地化字符串。
///
public static string BasicInfo {
get {
@@ -125,7 +124,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 基础布局.
+ /// 查找类似 基础布局 的本地化字符串。
///
public static string BasicLayout {
get {
@@ -134,7 +133,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 闪烁.
+ /// 查找类似 闪烁 的本地化字符串。
///
public static string Blink {
get {
@@ -143,7 +142,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 博客.
+ /// 查找类似 博客 的本地化字符串。
///
public static string Blog {
get {
@@ -152,7 +151,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 边框.
+ /// 查找类似 边框 的本地化字符串。
///
public static string Border {
get {
@@ -161,7 +160,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 画刷.
+ /// 查找类似 画刷 的本地化字符串。
///
public static string Brush {
get {
@@ -170,7 +169,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 按钮.
+ /// 查找类似 按钮 的本地化字符串。
///
public static string Button {
get {
@@ -179,7 +178,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 自定义按钮.
+ /// 查找类似 自定义按钮 的本地化字符串。
///
public static string ButtonCustom {
get {
@@ -206,7 +205,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 带时钟的日历.
+ /// 查找类似 带时钟的日历 的本地化字符串。
///
public static string CalendarWithClock {
get {
@@ -233,7 +232,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 是否重启以更改语言?.
+ /// 查找类似 是否重启以更改语言? 的本地化字符串。
///
public static string ChangeLangAsk {
get {
@@ -242,7 +241,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 对话气泡.
+ /// 查找类似 对话气泡 的本地化字符串。
///
public static string ChatBubble {
get {
@@ -251,7 +250,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 讨论室.
+ /// 查找类似 讨论室 的本地化字符串。
///
public static string Chatroom {
get {
@@ -260,7 +259,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 复选框.
+ /// 查找类似 复选框 的本地化字符串。
///
public static string CheckBox {
get {
@@ -269,7 +268,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 圆形布局.
+ /// 查找类似 圆形布局 的本地化字符串。
///
public static string CirclePanel {
get {
@@ -278,7 +277,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 清空.
+ /// 查找类似 清空 的本地化字符串。
///
public static string Clear {
get {
@@ -287,7 +286,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击计数.
+ /// 查找类似 点击计数 的本地化字符串。
///
public static string Click2Count {
get {
@@ -296,7 +295,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 时钟.
+ /// 查找类似 时钟 的本地化字符串。
///
public static string Clock {
get {
@@ -305,7 +304,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 颜色拾取器.
+ /// 查找类似 颜色拾取器 的本地化字符串。
///
public static string ColorPicker {
get {
@@ -314,7 +313,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 分栏偏移.
+ /// 查找类似 分栏偏移 的本地化字符串。
///
public static string ColumnOffset {
get {
@@ -323,7 +322,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 分栏间隔.
+ /// 查找类似 分栏间隔 的本地化字符串。
///
public static string ColumnSpacing {
get {
@@ -332,7 +331,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 组合框.
+ /// 查找类似 组合框 的本地化字符串。
///
public static string ComboBox {
get {
@@ -341,7 +340,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 敬请期待.
+ /// 查找类似 敬请期待 的本地化字符串。
///
public static string ComingSoon {
get {
@@ -350,7 +349,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 评论.
+ /// 查找类似 评论 的本地化字符串。
///
public static string Comment {
get {
@@ -359,7 +358,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 一般.
+ /// 查找类似 一般 的本地化字符串。
///
public static string Common {
get {
@@ -368,7 +367,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 对比滑块.
+ /// 查找类似 对比滑块 的本地化字符串。
///
public static string CompareSlider {
get {
@@ -377,7 +376,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 完成.
+ /// 查找类似 完成 的本地化字符串。
///
public static string Complete {
get {
@@ -386,7 +385,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 这是内容.
+ /// 查找类似 这是内容 的本地化字符串。
///
public static string ContentDemoStr {
get {
@@ -395,7 +394,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 贡献者.
+ /// 查找类似 贡献者 的本地化字符串。
///
public static string Contributors {
get {
@@ -404,7 +403,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 控件.
+ /// 查找类似 控件 的本地化字符串。
///
public static string Controls {
get {
@@ -413,7 +412,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 封面流.
+ /// 查找类似 封面流 的本地化字符串。
///
public static string CoverFlow {
get {
@@ -422,7 +421,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 封面视图.
+ /// 查找类似 封面视图 的本地化字符串。
///
public static string CoverView {
get {
@@ -431,7 +430,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 危险.
+ /// 查找类似 危险 的本地化字符串。
///
public static string Danger {
get {
@@ -440,7 +439,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 数据表格.
+ /// 查找类似 数据表格 的本地化字符串。
///
public static string DataGrid {
get {
@@ -449,7 +448,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 日期选择器.
+ /// 查找类似 日期选择器 的本地化字符串。
///
public static string DatePicker {
get {
@@ -458,7 +457,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 日期时间选择器.
+ /// 查找类似 日期时间选择器 的本地化字符串。
///
public static string DateTimePicker {
get {
@@ -467,7 +466,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 默认.
+ /// 查找类似 默认 的本地化字符串。
///
public static string Default {
get {
@@ -476,7 +475,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 对话框.
+ /// 查找类似 对话框 的本地化字符串。
///
public static string Dialog {
get {
@@ -485,7 +484,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 对话框示例.
+ /// 查找类似 对话框示例 的本地化字符串。
///
public static string DialogDemo {
get {
@@ -494,7 +493,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 在这里拖拽.
/// 查找类似 分割线 的本地化字符串。
///
public static string Divider {
@@ -513,7 +511,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 邮箱.
+ /// 查找类似 邮箱 的本地化字符串。
///
public static string Email {
get {
@@ -522,7 +520,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 错误.
+ /// 查找类似 错误 的本地化字符串。
///
public static string Error {
get {
@@ -531,7 +529,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 退出.
+ /// 查找类似 退出 的本地化字符串。
///
public static string Exit {
get {
@@ -540,7 +538,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 展开框.
+ /// 查找类似 展开框 的本地化字符串。
///
public static string Expander {
get {
@@ -549,7 +547,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 严重.
+ /// 查找类似 严重 的本地化字符串。
///
public static string Fatal {
get {
@@ -558,7 +556,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 翻页时钟.
+ /// 查找类似 翻页时钟 的本地化字符串。
///
public static string FlipClock {
get {
@@ -567,7 +565,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to Gif图片.
/// 查找类似 漂浮块 的本地化字符串。
///
public static string FloatingBlock {
@@ -586,7 +583,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 回到顶部.
+ /// 查找类似 回到顶部 的本地化字符串。
///
public static string GotoTop {
get {
@@ -595,7 +592,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 头像.
+ /// 查找类似 头像 的本地化字符串。
///
public static string Gravatar {
get {
@@ -604,7 +601,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 栅格.
+ /// 查找类似 栅格 的本地化字符串。
///
public static string Grid {
get {
@@ -613,7 +610,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 分组框.
+ /// 查找类似 分组框 的本地化字符串。
///
public static string GroupBox {
get {
@@ -622,7 +619,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 组数.
+ /// 查找类似 组数 的本地化字符串。
///
public static string Groups {
get {
@@ -631,7 +628,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 信息通知.
+ /// 查找类似 信息通知 的本地化字符串。
///
public static string Growl {
get {
@@ -640,7 +637,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 检测到有新版本!是否更新?.
+ /// 查找类似 检测到有新版本!是否更新? 的本地化字符串。
///
public static string GrowlAsk {
get {
@@ -649,7 +646,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 消息通知示例.
+ /// 查找类似 消息通知示例 的本地化字符串。
///
public static string GrowlDemo {
get {
@@ -658,7 +655,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 连接失败,请检查网络!.
+ /// 查找类似 连接失败,请检查网络! 的本地化字符串。
///
public static string GrowlError {
get {
@@ -667,7 +664,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 程序已崩溃~~~.
+ /// 查找类似 程序已崩溃~~~ 的本地化字符串。
///
public static string GrowlFatal {
get {
@@ -676,7 +673,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 今天的天气不错~~~.
+ /// 查找类似 今天的天气不错~~~ 的本地化字符串。
///
public static string GrowlInfo {
get {
@@ -685,7 +682,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 文件保存成功!.
+ /// 查找类似 文件保存成功! 的本地化字符串。
///
public static string GrowlSuccess {
get {
@@ -694,7 +691,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 磁盘空间快要满了!.
+ /// 查找类似 磁盘空间快要满了! 的本地化字符串。
///
public static string GrowlWarning {
get {
@@ -703,7 +700,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 混合布局.
/// 查找类似 阴影画笔生成器 的本地化字符串。
///
public static string HatchBrushGenerator {
@@ -731,7 +727,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 忽略.
+ /// 查找类似 忽略 的本地化字符串。
///
public static string Ignore {
get {
@@ -758,7 +754,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 索引.
+ /// 查找类似 索引 的本地化字符串。
///
public static string Index {
get {
@@ -767,7 +763,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 信息.
+ /// 查找类似 信息 的本地化字符串。
///
public static string Info {
get {
@@ -776,7 +772,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 可交互对话框.
+ /// 查找类似 可交互对话框 的本地化字符串。
///
public static string InteractiveDialog {
get {
@@ -785,7 +781,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 不是手机号码.
+ /// 查找类似 不是手机号码 的本地化字符串。
///
public static string IsNotPhone {
get {
@@ -794,7 +790,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 标签.
+ /// 查找类似 标签 的本地化字符串。
///
public static string Label {
get {
@@ -803,7 +799,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 列表框.
+ /// 查找类似 列表框 的本地化字符串。
///
public static string ListBox {
get {
@@ -812,7 +808,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 列表视图.
+ /// 查找类似 列表视图 的本地化字符串。
///
public static string ListView {
get {
@@ -821,7 +817,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 加载条.
+ /// 查找类似 加载条 的本地化字符串。
///
public static string Loading {
get {
@@ -848,7 +844,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 消息框.
+ /// 查找类似 消息框 的本地化字符串。
///
public static string MessageBox {
get {
@@ -857,7 +853,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 名称.
/// 查找类似 变形动画 的本地化字符串。
///
public static string Morphing_Animation {
@@ -876,7 +871,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 新建窗口.
+ /// 查找类似 新建窗口 的本地化字符串。
///
public static string NewWindow {
get {
@@ -885,7 +880,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 下一步.
+ /// 查找类似 下一步 的本地化字符串。
///
public static string Next {
get {
@@ -894,7 +889,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 托盘图标.
/// 查找类似 桌面通知 的本地化字符串。
///
public static string Notification {
@@ -913,7 +907,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 数值选择控件.
+ /// 查找类似 数值选择控件 的本地化字符串。
///
public static string NumericUpDown {
get {
@@ -922,7 +916,16 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 确定.
+ /// 查找类似 关 的本地化字符串。
+ ///
+ public static string Off {
+ get {
+ return ResourceManager.GetString("Off", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 确定 的本地化字符串。
///
public static string Ok {
get {
@@ -931,7 +934,16 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开背景模糊窗口.
+ /// 查找类似 开 的本地化字符串。
+ ///
+ public static string On {
+ get {
+ return ResourceManager.GetString("On", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 点击打开背景模糊窗口 的本地化字符串。
///
public static string OpenBlurWindow {
get {
@@ -940,7 +952,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开常规窗口.
+ /// 查找类似 点击打开常规窗口 的本地化字符串。
///
public static string OpenCommonWindow {
get {
@@ -949,7 +961,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开自定义内容窗口.
+ /// 查找类似 点击打开自定义内容窗口 的本地化字符串。
///
public static string OpenCustomContentWindow {
get {
@@ -958,7 +970,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开自定义消息窗口.
+ /// 查找类似 点击打开自定义消息窗口 的本地化字符串。
///
public static string OpenCustomMessageWindow {
get {
@@ -967,7 +979,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开自定义非客户端区域窗口.
+ /// 查找类似 点击打开自定义非客户端区域窗口 的本地化字符串。
///
public static string OpenCustomNonClientAreaWindow {
get {
@@ -976,7 +988,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开图片浏览器.
+ /// 查找类似 点击打开图片浏览器 的本地化字符串。
///
public static string OpenImageBrowser {
get {
@@ -985,7 +997,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开消息窗口.
+ /// 查找类似 点击打开消息窗口 的本地化字符串。
///
public static string OpenMessageWindow {
get {
@@ -994,7 +1006,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 点击打开鼠标跟随窗口.
+ /// 查找类似 点击打开鼠标跟随窗口 的本地化字符串。
///
public static string OpenMouseFollowWindow {
get {
@@ -1003,7 +1015,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 打开无非客户端区域可拖拽窗口.
+ /// 查找类似 打开无非客户端区域可拖拽窗口 的本地化字符串。
///
public static string OpenNoNonClientAreaDragableWindow {
get {
@@ -1012,7 +1024,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 打开面板.
+ /// 查找类似 打开面板 的本地化字符串。
///
public static string OpenPanel {
get {
@@ -1021,7 +1033,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 轮廓文本.
/// 查找类似 打开精灵 的本地化字符串。
///
public static string OpenSprite {
@@ -1040,7 +1051,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 概览.
+ /// 查找类似 概览 的本地化字符串。
///
public static string Overview {
get {
@@ -1049,7 +1060,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 页码条.
+ /// 查找类似 页码条 的本地化字符串。
///
public static string Pagination {
get {
@@ -1058,7 +1069,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 密码框.
+ /// 查找类似 密码框 的本地化字符串。
///
public static string PasswordBox {
get {
@@ -1067,7 +1078,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 请输入....
+ /// 查找类似 请输入... 的本地化字符串。
///
public static string PleaseInput {
get {
@@ -1076,7 +1087,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 请稍后....
+ /// 查找类似 请稍后... 的本地化字符串。
///
public static string PleaseWait {
get {
@@ -1085,7 +1096,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 请输入内容.
+ /// 查找类似 请输入内容 的本地化字符串。
///
public static string PlsEnterContent {
get {
@@ -1094,7 +1105,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 请输入邮箱.
+ /// 查找类似 请输入邮箱 的本地化字符串。
///
public static string PlsEnterEmail {
get {
@@ -1103,7 +1114,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 请输入关键字.
+ /// 查找类似 请输入关键字 的本地化字符串。
///
public static string PlsEnterKey {
get {
@@ -1112,7 +1123,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to Poptip.
+ /// 查找类似 气泡提示 的本地化字符串。
///
public static string Poptip {
get {
@@ -1121,7 +1132,16 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 上一步.
+ /// 查找类似 上左;上边;上右;右上;右边;右下;下右;下边;下左;左下;左边;左上 的本地化字符串。
+ ///
+ public static string PoptipPositionStr {
+ get {
+ return ResourceManager.GetString("PoptipPositionStr", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 上一步 的本地化字符串。
///
public static string Prev {
get {
@@ -1130,7 +1150,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 预览滑块.
+ /// 查找类似 预览滑块 的本地化字符串。
///
public static string PreviewSlider {
get {
@@ -1139,7 +1159,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 主要.
+ /// 查找类似 主要 的本地化字符串。
///
public static string Primary {
get {
@@ -1148,7 +1168,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 进度条.
+ /// 查找类似 进度条 的本地化字符串。
///
public static string ProgressBar {
get {
@@ -1157,7 +1177,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 进度按钮.
+ /// 查找类似 进度按钮 的本地化字符串。
///
public static string ProgressButton {
get {
@@ -1166,7 +1186,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 按住说话.
/// 查找类似 项目 的本地化字符串。
///
public static string Project {
@@ -1185,7 +1204,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to QQ群.
+ /// 查找类似 QQ群 的本地化字符串。
///
public static string QQGroup {
get {
@@ -1194,7 +1213,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 单选按钮.
+ /// 查找类似 单选按钮 的本地化字符串。
///
public static string RadioButton {
get {
@@ -1203,7 +1222,16 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 评分.
+ /// 查找类似 范围滑块 的本地化字符串。
+ ///
+ public static string RangeSlider {
+ get {
+ return ResourceManager.GetString("RangeSlider", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 评分 的本地化字符串。
///
public static string Rate {
get {
@@ -1230,7 +1258,16 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 备注.
+ /// 查找类似 相对布局 的本地化字符串。
+ ///
+ public static string RelativePanel {
+ get {
+ return ResourceManager.GetString("RelativePanel", resourceCulture);
+ }
+ }
+
+ ///
+ /// 查找类似 备注 的本地化字符串。
///
public static string Remark {
get {
@@ -1239,7 +1276,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 重复按钮.
/// 查找类似 删除项 的本地化字符串。
///
public static string RemoveItem {
@@ -1258,7 +1294,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 回复.
+ /// 查找类似 回复 的本地化字符串。
///
public static string Reply {
get {
@@ -1267,7 +1303,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 代码仓库.
+ /// 查找类似 代码仓库 的本地化字符串。
///
public static string Repository {
get {
@@ -1276,7 +1312,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 响应式布局.
+ /// 查找类似 响应式布局 的本地化字符串。
///
public static string ResponsiveLayout {
get {
@@ -1285,7 +1321,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 富文本框.
+ /// 查找类似 富文本框 的本地化字符串。
///
public static string RichTextBox {
get {
@@ -1294,7 +1330,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 在这里右击.
+ /// 查找类似 在这里右击 的本地化字符串。
///
public static string RightClickHere {
get {
@@ -1303,7 +1339,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 滚动视图.
/// 查找类似 滚动块 的本地化字符串。
///
public static string RunningBlock {
@@ -1322,7 +1357,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 搜索栏.
+ /// 查找类似 搜索栏 的本地化字符串。
///
public static string SearchBar {
get {
@@ -1331,7 +1366,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 秒.
+ /// 查找类似 秒 的本地化字符串。
///
public static string Second {
get {
@@ -1340,7 +1375,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 选中.
+ /// 查找类似 选中 的本地化字符串。
///
public static string Selected {
get {
@@ -1349,7 +1384,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 徽章.
/// 查找类似 发送通知 的本地化字符串。
///
public static string SendNotification {
@@ -1368,7 +1402,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 在当前窗口显示.
+ /// 查找类似 在当前窗口显示 的本地化字符串。
///
public static string ShowInCurrentWindow {
get {
@@ -1377,7 +1411,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 在主窗口显示.
+ /// 查找类似 在主窗口显示 的本地化字符串。
///
public static string ShowInMainWindow {
get {
@@ -1386,7 +1420,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 显示行号.
+ /// 查找类似 显示行号 的本地化字符串。
///
public static string ShowRowNumber {
get {
@@ -1395,7 +1429,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 侧边菜单.
+ /// 查找类似 侧边菜单 的本地化字符串。
///
public static string SideMenu {
get {
@@ -1404,7 +1438,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 滑块.
+ /// 查找类似 滑块 的本地化字符串。
///
public static string Slider {
get {
@@ -1413,7 +1447,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 步骤.
/// 查找类似 分割按钮 的本地化字符串。
///
public static string SplitButton {
@@ -1450,7 +1483,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 步骤条.
+ /// 查找类似 步骤条 的本地化字符串。
///
public static string StepBar {
get {
@@ -1459,7 +1492,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 样式模板.
+ /// 查找类似 样式模板 的本地化字符串。
///
public static string Styles {
get {
@@ -1468,7 +1501,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 子标题.
+ /// 查找类似 子标题 的本地化字符串。
///
public static string SubTitle {
get {
@@ -1477,7 +1510,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 成功.
+ /// 查找类似 成功 的本地化字符串。
///
public static string Success {
get {
@@ -1486,7 +1519,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 选项卡控件.
+ /// 查找类似 选项卡控件 的本地化字符串。
///
public static string TabControl {
get {
@@ -1495,7 +1528,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 标签.
+ /// 查找类似 标签 的本地化字符串。
///
public static string Tag {
get {
@@ -1504,7 +1537,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 正文.
+ /// 查找类似 正文 的本地化字符串。
///
public static string Text {
get {
@@ -1513,7 +1546,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 文本块.
+ /// 查找类似 文本块 的本地化字符串。
///
public static string TextBlock {
get {
@@ -1522,7 +1555,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 文本框.
+ /// 查找类似 文本框 的本地化字符串。
///
public static string TextBox {
get {
@@ -1531,7 +1564,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 文本对话框.
+ /// 查找类似 文本对话框 的本地化字符串。
///
public static string TextDialog {
get {
@@ -1558,7 +1591,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 时间选择器.
+ /// 查找类似 时间选择器 的本地化字符串。
///
public static string TimePicker {
get {
@@ -1567,7 +1600,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 提示.
+ /// 查找类似 提示 的本地化字符串。
///
public static string Tip {
get {
@@ -1576,7 +1609,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 标题.
+ /// 查找类似 标题 的本地化字符串。
///
public static string Title {
get {
@@ -1585,7 +1618,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 这是标题.
+ /// 查找类似 这是标题 的本地化字符串。
///
public static string TitleDemoStr1 {
get {
@@ -1594,7 +1627,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 此项必填.
+ /// 查找类似 此项必填 的本地化字符串。
///
public static string TitleDemoStr2 {
get {
@@ -1603,7 +1636,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 标题在左侧.
+ /// 查找类似 标题在左侧 的本地化字符串。
///
public static string TitleDemoStr3 {
get {
@@ -1612,7 +1645,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 切换按钮.
+ /// 查找类似 切换按钮 的本地化字符串。
///
public static string ToggleButton {
get {
@@ -1621,7 +1654,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 工具条.
+ /// 查找类似 工具条 的本地化字符串。
///
public static string ToolBar {
get {
@@ -1630,7 +1663,6 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 穿梭框.
/// 查找类似 工具 的本地化字符串。
///
public static string Tools {
@@ -1649,7 +1681,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 树视图.
+ /// 查找类似 树视图 的本地化字符串。
///
public static string TreeView {
get {
@@ -1658,7 +1690,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 试试关闭程序吧?.
+ /// 查找类似 试试关闭程序吧? 的本地化字符串。
///
public static string Try2CloseApp {
get {
@@ -1667,7 +1699,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 类型.
+ /// 查找类似 类型 的本地化字符串。
///
public static string Type {
get {
@@ -1676,7 +1708,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 上传文件.
+ /// 查找类似 上传文件 的本地化字符串。
///
public static string UploadFile {
get {
@@ -1685,7 +1717,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 上传;上传中.
+ /// 查找类似 上传;上传中 的本地化字符串。
///
public static string UploadStr {
get {
@@ -1694,7 +1726,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 可见性.
+ /// 查找类似 可见性 的本地化字符串。
///
public static string Visibility {
get {
@@ -1703,7 +1735,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 警告.
+ /// 查找类似 警告 的本地化字符串。
///
public static string Warning {
get {
@@ -1712,7 +1744,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 瀑布流.
+ /// 查找类似 瀑布流 的本地化字符串。
///
public static string WaterfallPanel {
get {
@@ -1721,7 +1753,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// Looks up a localized string similar to 窗口.
+ /// 查找类似 窗口 的本地化字符串。
///
public static string Window {
get {
diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx
index 4d386c3a..fd7c626c 100644
--- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx
+++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.en.resx
@@ -681,4 +681,7 @@
Divider
+
+ top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start
+
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx
index 170b2ced..f68af839 100644
--- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx
+++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fa.resx
@@ -678,4 +678,10 @@
Divider
+
+ Poptip
+
+
+ top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start
+
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx
index f7c5365c..c01f2d99 100644
--- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx
+++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.fr.resx
@@ -678,4 +678,10 @@
Divider
+
+ Poptip
+
+
+ top-start;top;top-end;right-start;right;right-end;bottom-end;bottom;bottom-start;left-end;left;left-start
+
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx
index ae5640cc..0de5fbbe 100644
--- a/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx
+++ b/src/Shared/HandyControlDemo_Shared/Properties/Langs/Lang.resx
@@ -601,7 +601,7 @@
响应式布局
- Poptip
+ 气泡提示
群友推荐
@@ -681,4 +681,7 @@
分割线
+
+ 上左;上边;上右;右上;右边;右下;下右;下边;下左;左下;左边;左上
+
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/PopupCursor_16x.png b/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/PopupCursor_16x.png
new file mode 100644
index 00000000..a1e4fd09
Binary files /dev/null and b/src/Shared/HandyControlDemo_Shared/Resources/Img/LeftMainContent/PopupCursor_16x.png differ
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/HoneycombPanelDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/HoneycombPanelDemoCtl.xaml
index 9d1f7c91..fb6370d1 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/HoneycombPanelDemoCtl.xaml
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/HoneycombPanelDemoCtl.xaml
@@ -23,7 +23,7 @@
-
+
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml
index fcb2e69e..e3729c40 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml
@@ -2,81 +2,48 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Background="{DynamicResource RegionBrush}"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:controls="clr-namespace:HandyControl.Controls;assembly=HandyControl">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ xmlns:langs="clr-namespace:HandyControlDemo.Properties.Langs"
+ xmlns:hc="https://handyorg.github.io/handycontrol"
+ xmlns:system="clr-namespace:System;assembly=mscorlib">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml.cs b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml.cs
index 6a9eafcf..8daa08f5 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml.cs
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/PoptipDemoCtl.xaml.cs
@@ -1,11 +1,10 @@
-
-namespace HandyControlDemo.UserControl
+namespace HandyControlDemo.UserControl
{
- public sealed partial class PoptipDemoCtl
+ public partial class PoptipDemoCtl
{
public PoptipDemoCtl()
{
- this.InitializeComponent();
+ InitializeComponent();
}
}
}
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressButtonDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressButtonDemoCtl.xaml
index b6dd935b..00aae1f9 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressButtonDemoCtl.xaml
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/ProgressButtonDemoCtl.xaml
@@ -7,20 +7,20 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Main/LeftMainContent.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Main/LeftMainContent.xaml
index 161fbe30..a0d2b13a 100644
--- a/src/Shared/HandyControlDemo_Shared/UserControl/Main/LeftMainContent.xaml
+++ b/src/Shared/HandyControlDemo_Shared/UserControl/Main/LeftMainContent.xaml
@@ -245,6 +245,11 @@
+
+
+
+
+
@@ -465,7 +470,7 @@
-
+
@@ -480,11 +485,6 @@
-
-
-
-
-
diff --git a/src/Shared/HandyControl_Shared/Controls/Grid/Row.cs b/src/Shared/HandyControl_Shared/Controls/Grid/Row.cs
index a166b027..043c2887 100644
--- a/src/Shared/HandyControl_Shared/Controls/Grid/Row.cs
+++ b/src/Shared/HandyControl_Shared/Controls/Grid/Row.cs
@@ -59,7 +59,7 @@ namespace HandyControl.Controls
}
}
- return new Size(constraint.Width, _maxChildDesiredHeight * totalRowCount - Gutter);
+ return new Size(0, _maxChildDesiredHeight * totalRowCount - Gutter);
}
protected override Size ArrangeOverride(Size finalSize)
diff --git a/src/Shared/HandyControl_Shared/Controls/Other/Poptip.cs b/src/Shared/HandyControl_Shared/Controls/Other/Poptip.cs
new file mode 100644
index 00000000..0238bd22
--- /dev/null
+++ b/src/Shared/HandyControl_Shared/Controls/Other/Poptip.cs
@@ -0,0 +1,18 @@
+using System.Windows;
+using System.Windows.Controls;
+using HandyControl.Data;
+
+namespace HandyControl.Controls
+{
+ public class Poptip : Control
+ {
+ public static readonly DependencyProperty PlacementProperty = DependencyProperty.Register(
+ "Placement", typeof(TipPlacement), typeof(Poptip), new PropertyMetadata(TipPlacement.Top));
+
+ public TipPlacement Placement
+ {
+ get => (TipPlacement) GetValue(PlacementProperty);
+ set => SetValue(PlacementProperty, value);
+ }
+ }
+}
diff --git a/src/Shared/HandyControl_Shared/Controls/PopTip/AngleBorder.cs b/src/Shared/HandyControl_Shared/Controls/PopTip/AngleBorder.cs
deleted file mode 100644
index 273e7fb4..00000000
--- a/src/Shared/HandyControl_Shared/Controls/PopTip/AngleBorder.cs
+++ /dev/null
@@ -1,664 +0,0 @@
-using HandyControl.Data;
-using HandyControl.Tools;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Documents;
-using System.Windows.Media;
-
-namespace HandyControl.Controls
-{
- ///
- /// 带三角形的气泡边框
- ///
- public class AngleBorder : Decorator
- {
- #region 依赖属性
- public static readonly DependencyProperty PlacementProperty =
- DependencyProperty.Register("Placement", typeof(EnumPlacement), typeof(AngleBorder),
- new FrameworkPropertyMetadata(EnumPlacement.RightCenter, FrameworkPropertyMetadataOptions.AffectsRender, OnDirectionPropertyChangedCallback));
-
- public EnumPlacement Placement
- {
- get { return (EnumPlacement)GetValue(PlacementProperty); }
- set { SetValue(PlacementProperty, value); }
- }
-
- public static readonly DependencyProperty TailWidthProperty =
- DependencyProperty.Register("TailWidth", typeof(double), typeof(AngleBorder), new PropertyMetadata(10d));
- ///
- /// 尾巴的宽度,默认值为7
- ///
- public double TailWidth
- {
- get { return (double)GetValue(TailWidthProperty); }
- set { SetValue(TailWidthProperty, value); }
- }
- public static readonly DependencyProperty TailHeightProperty =
- DependencyProperty.Register("TailHeight", typeof(double), typeof(AngleBorder), new PropertyMetadata(10d));
- ///
- /// 尾巴的高度,默认值为10
- ///
- public double TailHeight
- {
- get { return (double)GetValue(TailHeightProperty); }
- set { SetValue(TailHeightProperty, value); }
- }
-
- public static readonly DependencyProperty TailVerticalOffsetProperty =
- DependencyProperty.Register("TailVerticalOffset", typeof(double), typeof(AngleBorder), new PropertyMetadata(13d));
- ///
- /// 尾巴距离顶部的距离,默认值为10
- ///
- public double TailVerticalOffset
- {
- get { return (double)GetValue(TailVerticalOffsetProperty); }
- set { SetValue(TailVerticalOffsetProperty, value); }
- }
- public static readonly DependencyProperty TailHorizontalOffsetProperty =
- DependencyProperty.Register("TailHorizontalOffset", typeof(double), typeof(AngleBorder),
- new PropertyMetadata(12d));
- ///
- /// 尾巴距离顶部的距离,默认值为10
- ///
- public double TailHorizontalOffset
- {
- get { return (double)GetValue(TailHorizontalOffsetProperty); }
- set { SetValue(TailHorizontalOffsetProperty, value); }
- }
- public static readonly DependencyProperty BackgroundProperty =
- DependencyProperty.Register("Background", typeof(Brush), typeof(AngleBorder)
- , new PropertyMetadata(Brushes.White));
- ///
- /// 背景色,默认值为#FFFFFF,白色
- ///
- public Brush Background
- {
- get { return (Brush)GetValue(BackgroundProperty); }
- set { SetValue(BackgroundProperty, value); }
- }
-
- public static readonly DependencyProperty PaddingProperty =
- DependencyProperty.Register("Padding", typeof(Thickness), typeof(AngleBorder)
- , new PropertyMetadata(new Thickness(10, 5, 10, 5)));
- ///
- /// 内边距
- ///
- public Thickness Padding
- {
- get { return (Thickness)GetValue(PaddingProperty); }
- set { SetValue(PaddingProperty, value); }
- }
-
- public static readonly DependencyProperty BorderBrushProperty =
- DependencyProperty.Register("BorderBrush", typeof(Brush), typeof(AngleBorder)
- , new PropertyMetadata(default(Brush)));
- ///
- /// 边框颜色
- ///
- public Brush BorderBrush
- {
- get { return (Brush)GetValue(BorderBrushProperty); }
- set { SetValue(BorderBrushProperty, value); }
- }
-
- public static readonly DependencyProperty BorderThicknessProperty =
- DependencyProperty.Register("BorderThickness", typeof(Thickness), typeof(AngleBorder), new PropertyMetadata(new Thickness(1d)));
- ///
- /// 边框大小
- ///
- public Thickness BorderThickness
- {
- get { return (Thickness)GetValue(BorderThicknessProperty); }
- set { SetValue(BorderThicknessProperty, value); }
- }
-
- public static readonly DependencyProperty CornerRadiusProperty =
- DependencyProperty.Register("CornerRadius", typeof(System.Windows.CornerRadius)
- , typeof(AngleBorder), new PropertyMetadata(new CornerRadius(0)));
- ///
- /// 边框大小
- ///
- public System.Windows.CornerRadius CornerRadius
- {
- get { return (System.Windows.CornerRadius)GetValue(CornerRadiusProperty); }
- set { SetValue(CornerRadiusProperty, value); }
- }
- #endregion
-
- #region 方法重写
- ///
- /// 该方法用于测量整个控件的大小
- ///
- ///
- /// 控件的大小
- protected override Size MeasureOverride(Size constraint)
- {
- Thickness padding = this.Padding;
-
- Size result = new Size();
- if (Child != null)
- {
- //测量子控件的大小
- Child.Measure(constraint);
-
- //三角形在左边与右边的,整个容器的宽度则为:里面子控件的宽度 + 设置的padding + 三角形的宽度
- //三角形在上面与下面的,整个容器的高度则为:里面子控件的高度 + 设置的padding + 三角形的高度
- switch (Placement)
- {
- case EnumPlacement.LeftTop:
- case EnumPlacement.LeftBottom:
- case EnumPlacement.LeftCenter:
- case EnumPlacement.RightTop:
- case EnumPlacement.RightBottom:
- case EnumPlacement.RightCenter:
- result.Width = Child.DesiredSize.Width + padding.Left + padding.Right + this.TailWidth;
- result.Height = Child.DesiredSize.Height + padding.Top + padding.Bottom;
- break;
- case EnumPlacement.TopLeft:
- case EnumPlacement.TopCenter:
- case EnumPlacement.TopRight:
- case EnumPlacement.BottomLeft:
- case EnumPlacement.BottomCenter:
- case EnumPlacement.BottomRight:
- result.Width = Child.DesiredSize.Width + padding.Left + padding.Right;
- result.Height = Child.DesiredSize.Height + padding.Top + padding.Bottom + this.TailHeight;
- break;
- default:
- break;
- }
- }
- return result;
- }
-
- ///
- /// 设置子控件的大小与位置
- ///
- ///
- ///
- protected override Size ArrangeOverride(Size arrangeSize)
- {
- Thickness padding = this.Padding;
- if (Child != null)
- {
- switch (Placement)
- {
- case EnumPlacement.LeftTop:
- case EnumPlacement.LeftBottom:
- case EnumPlacement.LeftCenter:
- this.TailWidth = 6;
- Child.Arrange(new Rect(new Point(padding.Left + this.TailWidth, padding.Top), Child.DesiredSize));
- //ArrangeChildLeft();
- break;
- case EnumPlacement.RightTop:
- case EnumPlacement.RightBottom:
- case EnumPlacement.RightCenter:
- ArrangeChildRight(padding);
- break;
- case EnumPlacement.TopLeft:
- case EnumPlacement.TopRight:
- case EnumPlacement.TopCenter:
- Child.Arrange(new Rect(new Point(padding.Left, this.TailHeight + padding.Top), Child.DesiredSize));
- break;
- case EnumPlacement.BottomLeft:
- case EnumPlacement.BottomRight:
- case EnumPlacement.BottomCenter:
- Child.Arrange(new Rect(new Point(padding.Left, padding.Top), Child.DesiredSize));
- break;
- default:
- break;
- }
- }
- return arrangeSize;
- }
-
- private void ArrangeChildRight(Thickness padding)
- {
- double x = padding.Left;
- double y = padding.Top;
-
- if (!Double.IsNaN(this.Height) && this.Height != 0)
- {
- y = (this.Height - (Child.DesiredSize.Height)) / 2;
- }
-
- Child.Arrange(new Rect(new Point(x, y), Child.DesiredSize));
- }
-
- ///
- /// 绘制控件
- ///
- ///
- protected override void OnRender(DrawingContext drawingContext)
- {
- if (Child != null)
- {
- Geometry cg = null;
- Brush brush = null;
- //DpiScale dpi = base.getd();
- Pen pen = new Pen();
-
- pen.Brush = this.BorderBrush;
- //pen.Thickness = BorderThickness * 0.5;
- pen.Thickness = RoundLayoutValue(BorderThickness.Left, DoubleUtil.DpiScaleX);
-
- switch (Placement)
- {
- case EnumPlacement.LeftTop:
- case EnumPlacement.LeftBottom:
- case EnumPlacement.LeftCenter:
- //生成小尾巴在左侧的图形和底色
- cg = CreateGeometryTailAtLeft();
- brush = Background;
- break;
- case EnumPlacement.RightTop:
- case EnumPlacement.RightCenter:
- case EnumPlacement.RightBottom:
- //生成小尾巴在右侧的图形和底色
- cg = CreateGeometryTailAtRight();
- brush = Background;
- break;
- case EnumPlacement.TopLeft:
- case EnumPlacement.TopCenter:
- case EnumPlacement.TopRight:
- //生成小尾巴在右侧的图形和底色
- cg = CreateGeometryTailAtTop();
- brush = Background;
- break;
- case EnumPlacement.BottomLeft:
- case EnumPlacement.BottomCenter:
- case EnumPlacement.BottomRight:
- //生成小尾巴在右侧的图形和底色
- cg = CreateGeometryTailAtBottom();
- brush = Background;
- break;
- default:
- break;
- }
-
- GuidelineSet guideLines = new GuidelineSet();
- drawingContext.PushGuidelineSet(guideLines);
- drawingContext.DrawGeometry(brush, pen, cg);
- }
- }
-
-
-
-
- public double RoundLayoutValue(double value, double dpiScale)
- {
- double num;
- if (!DoubleUtil.AreClose(dpiScale, 1.0))
- {
- num = Math.Round(value * dpiScale) / dpiScale;
- if (DoubleUtil.IsNaN(num) || double.IsInfinity(num) || DoubleUtil.AreClose(num, 1.7976931348623157E+308))
- {
- num = value;
- }
- }
- else
- {
- num = Math.Round(value);
- }
- return num;
- }
-
- public T GetAdorner(DependencyObject d) where T : class
- {
- var element = d as FrameworkElement;
-
- if (element != null)
- {
- var adornerLayer = AdornerLayer.GetAdornerLayer(element);
- if (adornerLayer != null)
- {
- //能够获取装饰层,说明已经load过了,直接生成装饰件
- var adorners = adornerLayer.GetAdorners(element);
- if (adorners != null && adorners.Count() != 0)
- {
- var adorner = adorners.FirstOrDefault() as T;
-
- return adorner;
- }
- }
- }
-
- return null;
- }
- #endregion
-
- #region 私有方法
- private Geometry CreateGeometryTailAtRight()
- {
- CombinedGeometry result = new CombinedGeometry();
-
- this.TailHeight = 12;
- this.TailWidth = 6;
-
- switch (this.Placement)
- {
- case EnumPlacement.RightTop:
- //不做任何处理
- break;
- case EnumPlacement.RightBottom:
- this.TailVerticalOffset = this.ActualHeight - this.TailHeight - this.TailVerticalOffset;
- break;
- case EnumPlacement.RightCenter:
- this.TailVerticalOffset = (this.ActualHeight - this.TailHeight) / 2;
- break;
- }
-
- #region 绘制三角形
- Point arcPoint1 = new Point(this.ActualWidth - TailWidth, TailVerticalOffset);
- Point arcPoint2 = new Point(this.ActualWidth, TailVerticalOffset + TailHeight / 2);
- Point arcPoint3 = new Point(this.ActualWidth - TailWidth, TailVerticalOffset + TailHeight);
-
- LineSegment as1_2 = new LineSegment(arcPoint2, false);
- LineSegment as2_3 = new LineSegment(arcPoint3, false);
-
- PathFigure pf1 = new PathFigure();
- pf1.IsClosed = false;
- pf1.StartPoint = arcPoint1;
- pf1.Segments.Add(as1_2);
- pf1.Segments.Add(as2_3);
-
- PathGeometry pg1 = new PathGeometry();
- pg1.Figures.Add(pf1);
- #endregion
-
- #region 绘制矩形边框
- RectangleGeometry rg2 = new RectangleGeometry(new Rect(0, 0, this.ActualWidth - TailWidth, this.ActualHeight)
- , CornerRadius.TopLeft, CornerRadius.BottomRight, new TranslateTransform(0.5, 0.5));
- #endregion
-
- #region 合并两个图形
- result.Geometry1 = pg1;
- result.Geometry2 = rg2;
- result.GeometryCombineMode = GeometryCombineMode.Union;
- #endregion
-
- return result;
- }
-
- private Geometry CreateGeometryTailAtLeft()
- {
- CombinedGeometry result = new CombinedGeometry();
-
- this.TailHeight = 12;
- this.TailWidth = 6;
-
- switch (this.Placement)
- {
- case EnumPlacement.LeftTop:
- //不做任何处理
- break;
- case EnumPlacement.LeftBottom:
- this.TailVerticalOffset = this.ActualHeight - this.TailHeight - this.TailVerticalOffset;
- break;
- case EnumPlacement.LeftCenter:
- this.TailVerticalOffset = (this.ActualHeight - this.TailHeight) / 2;
- break;
- }
-
- #region 绘制三角形
- Point arcPoint1 = new Point(TailWidth, TailVerticalOffset);
- Point arcPoint2 = new Point(0, TailVerticalOffset + TailHeight / 2);
- Point arcPoint3 = new Point(TailWidth, TailVerticalOffset + TailHeight);
-
- LineSegment as1_2 = new LineSegment(arcPoint2, false);
- LineSegment as2_3 = new LineSegment(arcPoint3, false);
-
- PathFigure pf = new PathFigure();
- pf.IsClosed = false;
- pf.StartPoint = arcPoint1;
- pf.Segments.Add(as1_2);
- pf.Segments.Add(as2_3);
-
- PathGeometry g1 = new PathGeometry();
- g1.Figures.Add(pf);
- #endregion
-
- #region 绘制矩形边框
- RectangleGeometry g2 = new RectangleGeometry(new Rect(TailWidth, 0, this.ActualWidth - this.TailWidth, this.ActualHeight)
- , CornerRadius.TopLeft, CornerRadius.BottomRight);
- #endregion
-
- #region 合并两个图形
- result.Geometry1 = g1;
- result.Geometry2 = g2;
- result.GeometryCombineMode = GeometryCombineMode.Union;
- #endregion
-
- return result;
- }
-
- private Geometry CreateGeometryTailAtTop()
- {
- CombinedGeometry result = new CombinedGeometry();
-
- switch (this.Placement)
- {
- case EnumPlacement.TopLeft:
- break;
- case EnumPlacement.TopCenter:
- this.TailHorizontalOffset = (this.ActualWidth - this.TailWidth) / 2;
- break;
- case EnumPlacement.TopRight:
- this.TailHorizontalOffset = this.ActualWidth - this.TailWidth - this.TailHorizontalOffset;
- break;
- }
-
- #region 绘制三角形
- Point anglePoint1 = new Point(this.TailHorizontalOffset, this.TailHeight);
- Point anglePoint2 = new Point(this.TailHorizontalOffset + (this.TailWidth / 2), 0);
- Point anglePoint3 = new Point(this.TailHorizontalOffset + this.TailWidth, this.TailHeight);
-
- LineSegment as1_2 = new LineSegment(anglePoint2, true);
- LineSegment as2_3 = new LineSegment(anglePoint3, true);
-
- PathFigure pf = new PathFigure();
- pf.IsClosed = false;
- pf.StartPoint = anglePoint1;
- pf.Segments.Add(as1_2);
- pf.Segments.Add(as2_3);
-
- PathGeometry g1 = new PathGeometry();
- g1.Figures.Add(pf);
- #endregion
-
- #region 绘制矩形边框
- RectangleGeometry g2 = new RectangleGeometry(new Rect(0, this.TailHeight, this.ActualWidth, this.ActualHeight - this.TailHeight)
- , CornerRadius.TopLeft, CornerRadius.BottomRight);
- #endregion
-
- #region 合并
- result.Geometry1 = g1;
- result.Geometry2 = g2;
- result.GeometryCombineMode = GeometryCombineMode.Union;
- #endregion
-
- return result;
- }
-
- private Geometry CreateGeometryTailAtBottom()
- {
- CombinedGeometry result = new CombinedGeometry();
-
- switch (this.Placement)
- {
- case EnumPlacement.BottomLeft:
- break;
- case EnumPlacement.BottomCenter:
- this.TailHorizontalOffset = (this.ActualWidth - this.TailWidth) / 2;
- break;
- case EnumPlacement.BottomRight:
- this.TailHorizontalOffset = this.ActualWidth - this.TailWidth - this.TailHorizontalOffset;
- break;
- }
-
-
- #region 绘制三角形
- Point anglePoint1 = new Point(this.TailHorizontalOffset, this.ActualHeight - this.TailHeight);
- Point anglePoint2 = new Point(this.TailHorizontalOffset + this.TailWidth / 2, this.ActualHeight);
- Point anglePoint3 = new Point(this.TailHorizontalOffset + this.TailWidth, this.ActualHeight - this.TailHeight);
-
- LineSegment as1_2 = new LineSegment(anglePoint2, true);
- LineSegment as2_3 = new LineSegment(anglePoint3, true);
-
- PathFigure pf = new PathFigure();
- pf.IsClosed = false;
- pf.StartPoint = anglePoint1;
- pf.Segments.Add(as1_2);
- pf.Segments.Add(as2_3);
-
- PathGeometry g1 = new PathGeometry();
- g1.Figures.Add(pf);
- #endregion
-
- #region 绘制矩形边框
- RectangleGeometry g2 = new RectangleGeometry(new Rect(0, 0, this.ActualWidth, this.ActualHeight - this.TailHeight)
- , CornerRadius.TopLeft, CornerRadius.BottomRight);
- #endregion
-
- #region 合并
- result.Geometry1 = g1;
- result.Geometry2 = g2;
- result.GeometryCombineMode = GeometryCombineMode.Union;
- #endregion
-
- return result;
- }
-
- ///
- /// 根据三角形方向设置消息框的水平位置,偏左还是偏右
- ///
- ///
- ///
- public static void OnDirectionPropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- AngleBorder angleBorder = d as AngleBorder;
- if (angleBorder != null)
- {
- switch ((EnumPlacement)e.NewValue)
- {
- case EnumPlacement.LeftTop:
- case EnumPlacement.LeftBottom:
- case EnumPlacement.LeftCenter:
- case EnumPlacement.RightTop:
- case EnumPlacement.RightBottom:
- case EnumPlacement.RightCenter:
- angleBorder.TailWidth = 6;
- angleBorder.TailHeight = 12;
- break;
- case EnumPlacement.TopLeft:
- case EnumPlacement.TopCenter:
- case EnumPlacement.TopRight:
- case EnumPlacement.BottomLeft:
- case EnumPlacement.BottomCenter:
- case EnumPlacement.BottomRight:
- angleBorder.TailWidth = 12;
- angleBorder.TailHeight = 6;
- break;
- default:
- break;
- }
- }
- }
- #endregion
- }
-
- public class DoubleUtil
- {
- public static double DpiScaleX
- {
- get
- {
- int dx = 0;
- int dy = 0;
- GetDPI(out dx, out dy);
- if (dx != 96)
- {
- return (double)dx / 96.0;
- }
- return 1.0;
- }
- }
-
- public static double DpiScaleY
- {
- get
- {
- int dx = 0;
- int dy = 0;
- GetDPI(out dx, out dy);
- if (dy != 96)
- {
- return (double)dy / 96.0;
- }
- return 1.0;
- }
- }
-
- public static void GetDPI(out int dpix, out int dpiy)
- {
- dpix = 0;
- dpiy = 0;
- //using (System.Management.ManagementClass mc = new System.Management.ManagementClass("Win32_DesktopMonitor"))
- //{
- // using (System.Management.ManagementObjectCollection moc = mc.GetInstances())
- // {
- // foreach (System.Management.ManagementObject each in moc)
- // {
- // dpix = int.Parse((each.Properties["PixelsPerXLogicalInch"].Value.ToString()));
- // dpiy = int.Parse((each.Properties["PixelsPerYLogicalInch"].Value.ToString()));
- // }
- // }
- //}
- }
- public static bool GreaterThan(double value1, double value2)
- {
- return value1 > value2 && !DoubleUtil.AreClose(value1, value2);
- }
-
- public static bool AreClose(double value1, double value2)
- {
- if (value1 == value2)
- {
- return true;
- }
- double num = (Math.Abs(value1) + Math.Abs(value2) + 10.0) * 2.2204460492503131E-16;
- double num2 = value1 - value2;
- return -num < num2 && num > num2;
- }
-
- public static bool IsZero(double value)
- {
- return Math.Abs(value) < 2.2204460492503131E-15;
- }
-
- [StructLayout(LayoutKind.Explicit)]
- private struct NanUnion
- {
- [FieldOffset(0)]
- internal double DoubleValue;
- [FieldOffset(0)]
- internal ulong UintValue;
- }
-
- public static bool IsNaN(double value)
- {
- DoubleUtil.NanUnion nanUnion = default(DoubleUtil.NanUnion);
- nanUnion.DoubleValue = value;
- ulong num = nanUnion.UintValue & 18442240474082181120uL;
- ulong num2 = nanUnion.UintValue & 4503599627370495uL;
- return (num == 9218868437227405312uL || num == 18442240474082181120uL) && num2 != 0uL;
- }
-
-
- }
-}
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Controls/PopTip/Poptip.cs b/src/Shared/HandyControl_Shared/Controls/PopTip/Poptip.cs
deleted file mode 100644
index d50e625b..00000000
--- a/src/Shared/HandyControl_Shared/Controls/PopTip/Poptip.cs
+++ /dev/null
@@ -1,338 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Controls.Primitives;
-using System.Windows.Media;
-using System.Windows.Media.Effects;
-
-namespace HandyControl.Controls
-{
- public enum EnumPlacement
- {
- ///
- /// 左上
- ///
- LeftTop,
- ///
- /// 左中
- ///
- LeftCenter,
- ///
- /// 左下
- ///
- LeftBottom,
- ///
- /// 右上
- ///
- RightTop,
- ///
- /// 右中
- ///
- RightCenter,
- ///
- /// 右下
- ///
- RightBottom,
- ///
- /// 上左
- ///
- TopLeft,
- ///
- /// 上中
- ///
- TopCenter,
- ///
- /// 上右
- ///
- TopRight,
- ///
- /// 下左
- ///
- BottomLeft,
- ///
- /// 下中
- ///
- BottomCenter,
- ///
- /// 下右
- ///
- BottomRight,
- }
- ///
- /// 气泡提示控件
- ///
- public class Poptip : Popup
- {
- #region private fields
-
- private bool mIsLoaded = false;
- private AngleBorder angleBorder;
-
- #endregion
-
- #region DependencyProperty
-
- #region PlacementEx
-
- public EnumPlacement PlacementEx
- {
- get { return (EnumPlacement)GetValue(PlacementExProperty); }
- set { SetValue(PlacementExProperty, value); }
- }
-
- public static readonly DependencyProperty PlacementExProperty =
- DependencyProperty.Register("PlacementEx", typeof(EnumPlacement), typeof(Poptip)
- , new PropertyMetadata(EnumPlacement.TopLeft, PlacementExChangedCallback));
-
- private static void PlacementExChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
- {
- Poptip poptip = d as Poptip;
- if (poptip != null)
- {
- EnumPlacement placement = (EnumPlacement)e.NewValue;
- switch (placement)
- {
- case EnumPlacement.LeftTop:
- break;
- case EnumPlacement.LeftBottom:
- break;
- case EnumPlacement.LeftCenter:
- break;
- case EnumPlacement.RightTop:
- break;
- case EnumPlacement.RightBottom:
- break;
- case EnumPlacement.RightCenter:
- break;
- case EnumPlacement.TopLeft:
- break;
- case EnumPlacement.TopCenter:
- poptip.Placement = PlacementMode.Top;
- break;
- case EnumPlacement.TopRight:
- break;
- case EnumPlacement.BottomLeft:
- break;
- case EnumPlacement.BottomCenter:
- break;
- case EnumPlacement.BottomRight:
- break;
- default:
- break;
- }
- }
- }
-
- #endregion
-
- #region Background
-
- public Brush Background
- {
- get { return (Brush)GetValue(BackgroundProperty); }
- set { SetValue(BackgroundProperty, value); }
- }
-
- public static readonly DependencyProperty BackgroundProperty =
- DependencyProperty.Register("Background", typeof(Brush), typeof(Poptip), new PropertyMetadata(Brushes.White));
-
- #endregion
-
- #region BorderThickness
-
- public Thickness BorderThickness
- {
- get { return (Thickness)GetValue(BorderThicknessProperty); }
- set { SetValue(BorderThicknessProperty, value); }
- }
-
- public static readonly DependencyProperty BorderThicknessProperty =
- DependencyProperty.Register("BorderThickness", typeof(Thickness), typeof(Poptip), new PropertyMetadata(new Thickness(1)));
-
- #endregion
-
- #region BorderBrush
-
- public Brush BorderBrush
- {
- get { return (Brush)GetValue(BorderBrushProperty); }
- set { SetValue(BorderBrushProperty, value); }
- }
-
- public static readonly DependencyProperty BorderBrushProperty =
- DependencyProperty.Register("BorderBrush", typeof(Brush), typeof(Poptip), new PropertyMetadata(new SolidColorBrush(Color.FromRgb(204, 206, 219))));
-
- #endregion
-
- #region CornerRadius
-
- public CornerRadius CornerRadius
- {
- get { return (CornerRadius)GetValue(CornerRadiusProperty); }
- set { SetValue(CornerRadiusProperty, value); }
- }
-
- public static readonly DependencyProperty CornerRadiusProperty =
- DependencyProperty.Register("CornerRadius", typeof(CornerRadius), typeof(Poptip), new PropertyMetadata(new CornerRadius(5)));
-
- #endregion
-
- #endregion
-
- #region Override
-
- protected override void OnInitialized(EventArgs e)
- {
- base.OnInitialized(e);
-
- this.AllowsTransparency = true;
- //this.StaysOpen = false;
-
- UIElement element = this.Child;
- this.Child = null;
-
- Grid root = new Grid()
- {
- Margin = new Thickness(10),
- };
-
- angleBorder = new AngleBorder()
- {
- Background = this.Background,
- CornerRadius = this.CornerRadius,
- BorderThickness = this.BorderThickness,
- BorderBrush = this.BorderBrush,
- };
- switch (this.PlacementEx)
- {
- case EnumPlacement.LeftTop:
- angleBorder.Placement = EnumPlacement.RightTop;
- break;
- case EnumPlacement.LeftBottom:
- angleBorder.Placement = EnumPlacement.RightBottom;
- break;
- case EnumPlacement.LeftCenter:
- angleBorder.Placement = EnumPlacement.RightCenter;
- break;
- case EnumPlacement.RightTop:
- angleBorder.Placement = EnumPlacement.LeftTop;
- break;
- case EnumPlacement.RightBottom:
- angleBorder.Placement = EnumPlacement.LeftBottom;
- break;
- case EnumPlacement.RightCenter:
- angleBorder.Placement = EnumPlacement.LeftCenter;
- break;
- case EnumPlacement.TopLeft:
- angleBorder.Placement = EnumPlacement.BottomLeft;
- break;
- case EnumPlacement.TopCenter:
- angleBorder.Placement = EnumPlacement.BottomCenter;
- break;
- case EnumPlacement.TopRight:
- angleBorder.Placement = EnumPlacement.BottomRight;
- break;
- case EnumPlacement.BottomLeft:
- angleBorder.Placement = EnumPlacement.TopLeft;
- break;
- case EnumPlacement.BottomCenter:
- angleBorder.Placement = EnumPlacement.TopCenter;
- break;
- case EnumPlacement.BottomRight:
- angleBorder.Placement = EnumPlacement.TopRight;
- break;
- default:
- break;
- }
-
- //在原有控件基础上,最外层套一个AngleBorder
- angleBorder.Child = element;
-
- root.Children.Add(angleBorder);
-
- this.Child = root;
- }
-
- protected override void OnOpened(EventArgs e)
- {
- base.OnOpened(e);
-
- if (this.mIsLoaded)
- {
- return;
- }
-
- FrameworkElement targetElement = this.PlacementTarget as FrameworkElement;
- FrameworkElement child = this.Child as FrameworkElement;
-
- if (targetElement == null || child == null) return;
-
- switch (this.PlacementEx)
- {
- case EnumPlacement.LeftTop:
- this.Placement = PlacementMode.Left;
- break;
- case EnumPlacement.LeftBottom:
- this.Placement = PlacementMode.Left;
- this.VerticalOffset = targetElement.ActualHeight - child.ActualHeight;
- break;
- case EnumPlacement.LeftCenter:
- this.Placement = PlacementMode.Left;
- this.VerticalOffset = this.GetOffset(targetElement.ActualHeight, child.ActualHeight);
- break;
- case EnumPlacement.RightTop:
- this.Placement = PlacementMode.Right;
- break;
- case EnumPlacement.RightBottom:
- this.Placement = PlacementMode.Right;
- this.VerticalOffset = targetElement.ActualHeight - child.ActualHeight;
- break;
- case EnumPlacement.RightCenter:
- this.Placement = PlacementMode.Right;
- this.VerticalOffset = this.GetOffset(targetElement.ActualHeight, child.ActualHeight);
- break;
- case EnumPlacement.TopLeft:
- this.Placement = PlacementMode.Top;
- break;
- case EnumPlacement.TopCenter:
- this.Placement = PlacementMode.Top;
- this.HorizontalOffset = this.GetOffset(targetElement.ActualWidth, child.ActualWidth);
- break;
- case EnumPlacement.TopRight:
- this.Placement = PlacementMode.Top;
- this.HorizontalOffset = targetElement.ActualWidth - child.ActualWidth;
- break;
- case EnumPlacement.BottomLeft:
- this.Placement = PlacementMode.Bottom;
- break;
- case EnumPlacement.BottomCenter:
- this.Placement = PlacementMode.Bottom;
- this.HorizontalOffset = this.GetOffset(targetElement.ActualWidth, child.ActualWidth);
- break;
- case EnumPlacement.BottomRight:
- this.Placement = PlacementMode.Bottom;
- this.HorizontalOffset = targetElement.ActualWidth - child.ActualWidth;
- break;
- }
- this.mIsLoaded = true;
- }
-
- #endregion
-
- #region private function
-
- private double GetOffset(double targetSize, double poptipSize)
- {
- if (double.IsNaN(targetSize) || double.IsNaN(poptipSize))
- {
- return 0;
- }
- return (targetSize / 2.0) - (poptipSize / 2.0);
- }
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Controls/Slider/RangeSlider/RangeSlider.cs b/src/Shared/HandyControl_Shared/Controls/Slider/RangeSlider/RangeSlider.cs
index 4250b29a..70060224 100644
--- a/src/Shared/HandyControl_Shared/Controls/Slider/RangeSlider/RangeSlider.cs
+++ b/src/Shared/HandyControl_Shared/Controls/Slider/RangeSlider/RangeSlider.cs
@@ -22,9 +22,9 @@ namespace HandyControl.Controls
private RangeTrack _track;
- private readonly ToolTip _autoToolTipStart = null;
+ private readonly System.Windows.Controls.ToolTip _autoToolTipStart = null;
- private readonly ToolTip _autoToolTipEnd = null;
+ private readonly System.Windows.Controls.ToolTip _autoToolTipEnd = null;
private RangeThumb _thumbCurrent;
@@ -448,11 +448,11 @@ namespace HandyControl.Controls
OnThumbDragStarted(isStart ? _autoToolTipStart : _autoToolTipEnd, isStart);
}
- private void OnThumbDragStarted(ToolTip toolTip, bool isStart)
+ private void OnThumbDragStarted(System.Windows.Controls.ToolTip toolTip, bool isStart)
{
if (toolTip == null)
{
- toolTip = new ToolTip
+ toolTip = new System.Windows.Controls.ToolTip
{
Placement = PlacementMode.Custom,
PlacementTarget = isStart ? _track.ThumbStart : _track.ThumbEnd,
@@ -556,7 +556,7 @@ namespace HandyControl.Controls
// Show AutoToolTip if needed
if (AutoToolTipPlacement != AutoToolTipPlacement.None)
{
- var toolTip = (isStart ? _autoToolTipStart : _autoToolTipEnd) ?? new ToolTip();
+ var toolTip = (isStart ? _autoToolTipStart : _autoToolTipEnd) ?? new System.Windows.Controls.ToolTip();
toolTip.Content = GetAutoToolTipNumber(isStart);
diff --git a/src/Shared/HandyControl_Shared/Data/Enum/TipPlacement.cs b/src/Shared/HandyControl_Shared/Data/Enum/TipPlacement.cs
index c6c2fff3..bc492ea7 100644
--- a/src/Shared/HandyControl_Shared/Data/Enum/TipPlacement.cs
+++ b/src/Shared/HandyControl_Shared/Data/Enum/TipPlacement.cs
@@ -3,7 +3,64 @@ namespace HandyControl.Data
{
public enum TipPlacement
{
+ ///
+ /// 左上
+ ///
+ LeftTop,
+
+ ///
+ /// 左
+ ///
+ Left,
+
+ ///
+ /// 左下
+ ///
+ LeftBottom,
+
+ ///
+ /// 上左
+ ///
TopLeft,
+
+ ///
+ /// 上
+ ///
+ Top,
+
+ ///
+ /// 上右
+ ///
+ TopRight,
+
+ ///
+ /// 右上
+ ///
+ RightTop,
+
+ ///
+ /// 右
+ ///
+ Right,
+
+ ///
+ /// 右下
+ ///
+ RightBottom,
+
+ ///
+ /// 下左
+ ///
+ BottomLeft,
+
+ ///
+ /// 下
+ ///
+ Bottom,
+
+ ///
+ /// 下右
+ ///
BottomRight,
}
}
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems
index 5b9caf0c..a9a897ef 100644
--- a/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems
+++ b/src/Shared/HandyControl_Shared/HandyControl_Shared.projitems
@@ -29,6 +29,7 @@
+
@@ -120,8 +121,6 @@
-
-
@@ -385,6 +384,14 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
diff --git a/src/Shared/HandyControl_Shared/Themes/Basic/Converters.xaml b/src/Shared/HandyControl_Shared/Themes/Basic/Converters.xaml
index bdf0240d..ef70bbea 100644
--- a/src/Shared/HandyControl_Shared/Themes/Basic/Converters.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Basic/Converters.xaml
@@ -10,10 +10,10 @@
-
+
-
-
+
+
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml
index 62f6a76b..b465d39a 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/ColorPickerBaseStyle.xaml
@@ -200,7 +200,7 @@
-
+
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Base/PoptipBaseStyle.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Base/PoptipBaseStyle.xaml
new file mode 100644
index 00000000..fa63f379
--- /dev/null
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/Base/PoptipBaseStyle.xaml
@@ -0,0 +1,15 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Poptip.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Poptip.xaml
new file mode 100644
index 00000000..c0162f78
--- /dev/null
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/Poptip.xaml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml
index ea4bb002..971fca8e 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/Style.xaml
@@ -76,6 +76,7 @@
+
\ No newline at end of file
diff --git a/src/Shared/HandyControl_Shared/Themes/Styles/ToolTip.xaml b/src/Shared/HandyControl_Shared/Themes/Styles/ToolTip.xaml
index f324761e..99db4872 100644
--- a/src/Shared/HandyControl_Shared/Themes/Styles/ToolTip.xaml
+++ b/src/Shared/HandyControl_Shared/Themes/Styles/ToolTip.xaml
@@ -1,5 +1,4 @@