From 9d61367c1fd278f58f721d4c0e69999f89e4485d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 12 十二月 2019 14:14:30 +0800
Subject: [PATCH] 添加最新绑定机制
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs | 199 +++++++++++++++++++++++++++----------------------
1 files changed, 111 insertions(+), 88 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
old mode 100755
new mode 100644
index 6c3fb2b..42798c2
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
@@ -32,17 +32,22 @@
}
/// <summary>
- /// 鎺т欢鐨勭偣鍑讳簨浠�(姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠讹紝鍙桟anClick灞炴�ф帶鍒�)
+ /// 鏄惁鏄暱鎸夌姸鎬�
+ /// </summary>
+ private bool isLongClick = false;
+
+ /// <summary>
+ /// 鎺т欢鐨勭偣鍑讳簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
public Action<Button, MouseEventArgs> ButtonClickEvent = null;
/// <summary>
- /// 搴曢儴闃村奖鎺т欢1
+ /// (鈽呭綋鍓嶄笉瑕佷娇鐢ㄢ槄)鎺т欢鐨勯暱鎸変簨浠�,褰撲簨浠朵负null鏃�,浠h〃闀挎寜缁撴潫(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽暱鎸変簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
- private Button btnBottomShadowView1 = null;
+ public Action<Button, MouseEventArgs> ButtonLongClickEvent = null;
/// <summary>
- /// 搴曢儴闃村奖鎺т欢2
+ /// 鎺т欢鐨勬寜涓嬩簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
- private Button btnBottomShadowView2 = null;
+ public Action<Button, MouseEventArgs> ButtonDownClickEvent = null;
#endregion
@@ -61,6 +66,10 @@
//鐐瑰嚮浜嬩欢
this.MouseUpEventHandler += ButtonBase_MouseUpEventHandler;
+ //鎸変笅浜嬩欢
+ this.MouseDownEventHandler += ButtonBase_MouseDownEventHandler;
+ //闀挎寜浜嬩欢
+ this.MouseLongEventHandler += ButtonBase_MouseLongEventHandler;
}
/// <summary>
@@ -133,11 +142,94 @@
if (CanClick == true)
{
//Log鍑哄姏
- this.WriteLog();
+ this.WriteLog(0);
try
{
- this.ButtonClickEvent?.Invoke(this, e);
+ if (this.isLongClick == false)
+ {
+ this.ButtonClickEvent(this, e);
+ }
+ else if (ButtonLongClickEvent != null)
+ {
+ //闀挎寜缁撴潫
+ this.ButtonLongClickEvent(this, null);
+ }
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(ex);
+ }
+ }
+ //鐘舵�佽繕鍘�
+ this.isLongClick = false;
+ }
+
+ #endregion
+
+ #region 鈻� 鎸変笅浜嬩欢___________________________
+
+ /// <summary>
+ /// 鎸変笅浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void ButtonBase_MouseDownEventHandler(object sender, MouseEventArgs e)
+ {
+ //杩樺師鐘舵��
+ this.isLongClick = false;
+
+ if (CanClick == false || this.ButtonDownClickEvent == null)
+ {
+ //涓嶈兘鐐瑰嚮
+ return;
+ }
+
+ try
+ {
+ this.ButtonDownClickEvent(this, e);
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(ex);
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 闀挎寜浜嬩欢___________________________
+
+ /// <summary>
+ /// 闀挎寜浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void ButtonBase_MouseLongEventHandler(object sender, MouseEventArgs e)
+ {
+ //闀挎寜鐘舵��
+ this.isLongClick = true;
+
+ if (ButtonLongClickEvent == null)
+ {
+ this.MouseLongEventHandler -= ButtonBase_MouseLongEventHandler;
+ return;
+ }
+ if (CanClick == true)
+ {
+ //Log鍑哄姏
+ this.WriteLog(1);
+
+ try
+ {
+ this.ButtonLongClickEvent(this, e);
}
catch (Exception ex)
{
@@ -173,21 +265,14 @@
#region 鈻� 涓�鑸柟娉昣__________________________
/// <summary>
- /// 閲嶇疆鍗曞嚮浜嬩欢(姝ゆ搷浣滃鎵樹細鍙榥ull)
- /// </summary>
- public void ResetClickEvent()
- {
- ButtonClickEvent = null;
- this.MouseUpEventHandler -= this.ButtonBase_MouseUpEventHandler;
- this.MouseUpEventHandler += this.ButtonBase_MouseUpEventHandler;
- }
-
- /// <summary>
/// 鎺т欢鎽ф瘉
/// </summary>
public override void RemoveFromParent()
{
ButtonClickEvent = null;
+ ButtonDownClickEvent = null;
+ ButtonLongClickEvent = null;
+
base.RemoveFromParent();
}
@@ -241,75 +326,6 @@
return Application.GetRealWidth(realWidth + 20);
}
- /// <summary>
- /// 娣诲姞搴曢儴闃村奖鐗规晥(纭繚鎷ユ湁鐖舵帶浠跺悗鎵嶈皟鐢�)
- /// </summary>
- /// <param name="view">涓哄摢涓帶浠舵坊鍔犻槾褰辩壒鏁�,鐪佺暐鏃�,涓哄綋鍓嶆帶浠舵坊鍔�</param>
- /// <param name="average">娣诲姞鐨勯槾褰辩壒鏁堟槸鍚︽寜骞冲潎鍊艰缃珮瀹藉害</param>
- public void AddBottomShadow(View view = null, bool average = false)
- {
- //闇�瑕佹墿澶х殑楂樺害
- int heightValue = 21;
- //闇�瑕佹墿澶х殑瀹藉害
- int widthValue = 15;
- //鏈�澶ч珮搴�
- int maxHeight = 0;
- if (average == false)
- {
- heightValue = Application.GetRealHeight(heightValue);
- widthValue = Application.GetRealWidth(widthValue);
- maxHeight = Application.GetRealHeight(460);
- }
- else
- {
- heightValue = Application.GetMinRealAverage(heightValue);
- widthValue = Application.GetMinRealAverage(widthValue);
- maxHeight = Application.GetMinRealAverage(460);
- }
- if (view == null)
- {
- //鐪佺暐鏃�,鎸囧畾涓哄綋鍓嶆帶浠�
- view = this;
- }
- //鍏堢Щ闄�
- this.btnBottomShadowView1?.RemoveFromParent();
- this.btnBottomShadowView2?.RemoveFromParent();
-
- int realHeight = view.Height + heightValue * 2;
- if (realHeight <= maxHeight)
- {
- //闃村奖鎺т欢
- this.btnBottomShadowView1 = new Button();
- btnBottomShadowView1.UnSelectedImagePath = "Item/BottomShadow.png";
- btnBottomShadowView1.Height = realHeight;
- btnBottomShadowView1.Width = view.Width + widthValue * 2;
- btnBottomShadowView1.X = view.X - widthValue;
- btnBottomShadowView1.Y = view.Y;
- view.Parent.AddChidren(btnBottomShadowView1);
- view.BringToFront();
- }
- else
- {
- //瓒呰繃鏈�澶ф椂,鐗规畩澶勭悊
- this.btnBottomShadowView1 = new Button();
- btnBottomShadowView1.UnSelectedImagePath = "Item/BottomShadow.png";
- btnBottomShadowView1.Height = view.Height - heightValue * 2;
- btnBottomShadowView1.Width = view.Width + widthValue * 2;
- btnBottomShadowView1.X = view.X - widthValue;
- btnBottomShadowView1.Y = view.Y + heightValue * 2;
- view.Parent.AddChidren(btnBottomShadowView1);
-
- this.btnBottomShadowView2 = new Button();
- btnBottomShadowView2.UnSelectedImagePath = "Item/BottomShadow.png";
- btnBottomShadowView2.Height = maxHeight;
- btnBottomShadowView2.Width = view.Width + widthValue * 2;
- btnBottomShadowView2.X = view.X - widthValue;
- btnBottomShadowView2.Y = view.Bottom - maxHeight + heightValue * 2;
- view.Parent.AddChidren(btnBottomShadowView2);
- view.BringToFront();
- }
- }
-
#endregion
#region 鈻� Log鍑哄姏____________________________
@@ -326,7 +342,7 @@
/// <summary>
/// Log鍑哄姏
/// </summary>
- private void WriteLog()
+ private void WriteLog(int div)
{
if (formName == null)
{
@@ -357,7 +373,14 @@
controlName = this.UnSelectedImagePath;
}
}
- HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚偣鍑�");
+ if (div == 0)
+ {
+ HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚偣鍑�");
+ }
+ else
+ {
+ HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚暱鎸�");
+ }
}
#endregion
--
Gitblit v1.8.0