From 0414d9754bc61b5e496930ff184ede647ab4cc3a Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 11 十二月 2020 14:35:10 +0800
Subject: [PATCH] 2020-12-11-1
---
HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs | 137 +++++++++++++++++
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm | 0
HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs | 265 ++++++++++++++++----------------
.vs/HDL_APP_Project/xs/sqlite3/storage.ide | 0
.vs/HDL_APP_Project/xs/UserPrefs.xml | 49 ++++-
HDL_ON/Entity/FunctionList.cs | 2
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal | 0
HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs | 17 +-
8 files changed, 315 insertions(+), 155 deletions(-)
diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index 3fe036b..1edff21 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,20 +1,41 @@
锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
<MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.D4411691-F5B8-40F4-97C1-964F33115DBC" />
- <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/DAL/Server/HttpUtil.cs">
+ <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs">
<Files>
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="184" Column="58" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs" Line="293" Column="79" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs" />
- <File FileName="HDL_ON/Entity/FunctionList.cs" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs" />
- <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="186" Column="99" />
- <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs" />
- <File FileName="HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" Line="34" Column="69" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="486" Column="31" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs" Line="52" Column="45" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="103" Column="30" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs" Line="103" Column="11" />
+ <File FileName="HDL_ON/Entity/FunctionList.cs" Line="40" Column="22" />
+ <File FileName="HDL_ON/Entity/FunctionList.cs" Line="613" Column="1" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs" Line="199" Column="14" />
+ <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="328" Column="72" />
</Files>
+ <Pads>
+ <Pad Id="ProjectPad">
+ <State name="__root__">
+ <Node name="HDL_APP_Project" expanded="True">
+ <Node name="HDL_ON" expanded="True">
+ <Node name="Entity" expanded="True" />
+ <Node name="UI" expanded="True">
+ <Node name="UI2" expanded="True">
+ <Node name="3-Intelligence" expanded="True">
+ <Node name="Automation" expanded="True">
+ <Node name="LogicView" expanded="True" />
+ <Node name="PublicInterface.cs" selected="True" />
+ </Node>
+ </Node>
+ </Node>
+ </Node>
+ </Node>
+ <Node name="HDL-ON_Android" expanded="True">
+ <Node name="Assets" expanded="True" />
+ </Node>
+ </Node>
+ </State>
+ </Pad>
+ </Pads>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.PinnedWatches />
<DisabledProjects>
@@ -23,7 +44,7 @@
<String>Shared.IOS/Shared.IOS.csproj</String>
</DisabledProjects>
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
- <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.4b65c4650918" />
+ <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.364c4b3158493098" />
<MonoDevelop.Ide.DebuggingService.Breakpoints>
<BreakpointStore>
<Breakpoint file="/Users/hdl/Desktop/wjc/HDL_APP_Project/HDL_ON/DAL/Mqtt/MqttClient.cs" relfile="HDL_ON/DAL/Mqtt/MqttClient.cs" line="529" column="1" />
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
index f7a3ae0..3556ce0 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
new file mode 100644
index 0000000..9b0d969
--- /dev/null
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
new file mode 100644
index 0000000..29b7e8b
--- /dev/null
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
Binary files differ
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index b8c469b..aba9d57 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -193,7 +193,7 @@
/// </summary>
public List<Function> GetAllDeviceFunctionList()
{
- //if (deviceFunctionList == null)
+ if (deviceFunctionList == null || deviceFunctionList.Count == 0)
{
deviceFunctionList = new List<Function>();
deviceFunctionList.AddRange(aCs);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 6e2bd4f..4f2c328 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -128,12 +128,8 @@
viewLayout.AddChidren(cyclicTitle.FLayoutView());
cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) =>
{
- FrameLayout fLayout = new FrameLayout
- {
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- this.AddChidren(fLayout);
- DateMethod(fLayout, cyclicTitle.btnText);
+
+ DateMethod(cyclicTitle.btnText);
};
@@ -188,7 +184,8 @@
LogicMethod.RemoveAllView();
MainView.MainShow();
}
- else {
+ else
+ {
new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
}
@@ -204,7 +201,8 @@
LogicMethod.RemoveAllView();
MainView.MainShow();
}
- else {
+ else
+ {
new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
}
}
@@ -216,11 +214,14 @@
/// <summary>
/// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��)
/// </summary>
- /// <param name="fLayout">寮规涓绘帶浠�</param>
/// <param name="button">鏄剧ず鏂囨湰</param>
- public void DateMethod(FrameLayout fLayout, Button button)
+ public void DateMethod(Button button)
{
-
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ this.AddChidren(fLayout);
LogicView.DateView dateView = new LogicView.DateView();
dateView.btnTitle.TextID = StringId.cyclic;
dateView.FLayoutView(fLayout, 4);
@@ -232,7 +233,7 @@
//瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
string weekName = "";
//瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn;
- var selecetdBtn = new Button() { Text=""};
+ var selecetdBtn = new Button() { Text = "" };
for (int i = 0; i < 4; i++)
{
LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView();
@@ -326,12 +327,6 @@
//纭畾淇濆瓨
dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) =>
{
- if (selecetdBtn.Text == Language.StringByID(StringId.monthly)|| selecetdBtn.Text == Language.StringByID(StringId.weekly)) {
- //鎻愮ず锛氳繕鏈��
- return;
-
- }
-
if (selecetdBtn.Text == Language.StringByID(StringId.performA))
{
//鎵ц涓�娆�
@@ -342,6 +337,11 @@
//姣忓ぉ
Logic.currlogic.cycle.type = "day";
+ }
+ else
+ {
+ //鎻愮ず锛氳繕鏈��
+ return;
}
//閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰
button.Text = selecetdBtn.Text;
@@ -356,125 +356,35 @@
/// <param name="button">鏄剧ず鏂囨湰</param>
public void WeekMethod(FrameLayout fLayout, Button button)
{
-
- LogicView.DateView weekView = new LogicView.DateView();
- weekView.btnTitle.TextID = StringId.cyclic;
- weekView.FLayoutView(fLayout, 7);
- weekView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
- {
- weekView.frameLayout.RemoveFromParent();
+ List<string> weekStr = new List<string> {
+ Language.StringByID(StringId.monday),
+ Language.StringByID(StringId.tuesday),
+ Language.StringByID(StringId.wednesday),
+ Language.StringByID(StringId.thursday),
+ Language.StringByID(StringId.friday),
+ Language.StringByID(StringId.saturday),
+ Language.StringByID(StringId.sunday),
};
+
//瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
- List<string> weekList = new List<string>();
+ List<string> weekStateList = new List<string>();
+ weekStateList.Clear();
if (Logic.currlogic.cycle.type == "week")
{
+ var list = GetWeekString(Logic.currlogic.cycle.value, "int");
//鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
- weekList.AddRange(Logic.currlogic.cycle.value);
+ weekStateList.AddRange(list);
}
- //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
- string weekName = "";
- for (int i = 0; i < 7; i++)
- {
- LogicView.SelectTypeView weekTypeView = new LogicView.SelectTypeView();
- weekTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence;
- weekTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
- weekTypeView.btnIcon.Visible = false;
- weekTypeView.btnText.X = Application.GetRealWidth(20);
- weekTypeView.btnLine.X = Application.GetRealWidth(20);
- weekTypeView.btnLine.Width = Application.GetRealWidth(303);
- weekTypeView.btnNextIcon.X = Application.GetRealWidth(303);
- weekTypeView.btnNextIcon.Width = Application.GetRealWidth(28);
- weekTypeView.btnNextIcon.Height = Application.GetRealWidth(28);
- weekTypeView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png";
- weekTypeView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png";
- weekView.frameLayout.AddChidren(weekTypeView.FLayoutView());
- weekTypeView.btnClick.Tag = i;//鏍囪绱㈠紩
- switch (i)
- {
- case 0:
- {
- weekName = Language.StringByID(StringId.monday);
- }
- break;
- case 1:
- {
- weekName = Language.StringByID(StringId.tuesday);
- }
- break;
- case 2:
- {
- weekName = Language.StringByID(StringId.wednesday);
- }
- break;
- case 3:
- {
- weekName = Language.StringByID(StringId.thursday);
- }
- break;
- case 4:
- {
- weekName = Language.StringByID(StringId.friday);
- }
- break;
- case 5:
- {
- weekName = Language.StringByID(StringId.saturday);
- }
- break;
- case 6:
- {
- weekName = Language.StringByID(StringId.sunday);
- }
- break;
+ PublicInterface weekView = new PublicInterface();
+ weekView.MultiSelectShow(fLayout, weekStr, Language.StringByID(StringId.cyclic), weekStateList
+ , (list) =>
+ {
+ var statelist = GetWeekString(list, "str");
+ Logic.currlogic.cycle.type = "week";
+ Logic.currlogic.cycle.value = statelist;
+ button.Text = MainView.GetWeekString(statelist);
- }
- weekTypeView.btnText.Text = weekName;
- if (weekList.Contains(i.ToString()))
- {
- //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
- weekTypeView.btnNextIcon.IsSelected = true;
- }
- //鏄熸湡鐨勭偣鍑讳簨浠�
- weekTypeView.btnClick.MouseUpEventHandler += (sender, e) =>
- {
- string clickIndex = weekTypeView.btnClick.Tag.ToString();
- weekTypeView.btnClick.IsSelected = !weekTypeView.btnClick.IsSelected;
- if (weekTypeView.btnClick.IsSelected)
- {
- weekTypeView.btnNextIcon.IsSelected = true;
- if (!weekList.Contains(clickIndex))
- {
- //娣诲姞閫変腑鏁版嵁
- weekList.Add(clickIndex);
- }
- }
- else
- {
- weekTypeView.btnNextIcon.IsSelected = false;
- if (weekList.Contains(clickIndex))
- {
- //绉婚櫎閫変腑鏁版嵁
- weekList.Remove(clickIndex);
- }
- }
-
- };
-
- }
- //纭畾鐐瑰嚮浜嬩欢
- weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
- {
- if (weekList.Count == 0)
- {
- //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
- return;
- }
- Logic.currlogic.cycle.type = "week";
- Logic.currlogic.cycle.value = weekList;
- button.Text = MainView.GetWeekString(weekList);
- fLayout.RemoveFromParent();
- };
-
+ });
}
/// <summary>
/// 姣忔湀
@@ -556,7 +466,8 @@
}
};
- if (monList.Contains(i.ToString())) {
+ if (monList.Contains(i.ToString()))
+ {
monTextBtn.IsSelected = true;
}
}
@@ -581,6 +492,8 @@
/// <param name="button">鏄剧ず鏂囨湰</param>
public void AndOrMethod(FrameLayout fLayout, Button button)
{
+
+
LogicView.DateView meetTheConditionView = new LogicView.DateView();
meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition;
meetTheConditionView.FLayoutView(fLayout, 2);
@@ -666,7 +579,97 @@
};
}
+ /// <summary>
+ /// 鏄熸湡鍛ㄦ湡杞崲鍊肩殑鏂规硶
+ /// </summary>
+ /// <param name="list"></param>
+ /// <param name="str_or_int"></param>
+ /// <returns></returns>
+ public List<string> GetWeekString(List<string> list, string str_or_int)
+ {
+ string weekTextName = "";
+ List<string> stateList = new List<string>();
+ for (int i = 0; i < list.Count; i++)
+ {
+ var s = list[i];
+ if (str_or_int == "int")
+ {
+ switch (s)
+ {
+ case "1":
+ {
+ weekTextName = Language.StringByID(StringId.monday);
+ }
+ break;
+ case "2":
+ {
+ weekTextName = Language.StringByID(StringId.tuesday);
+ }
+ break;
+ case "3":
+ {
+ weekTextName = Language.StringByID(StringId.wednesday);
+ }
+ break;
+ case "4":
+ {
+ weekTextName = Language.StringByID(StringId.thursday);
+ }
+ break;
+ case "5":
+ {
+ weekTextName = Language.StringByID(StringId.friday);
+ }
+ break;
+ case "6":
+ {
+ weekTextName = Language.StringByID(StringId.saturday);
+ }
+ break;
+ case "0":
+ {
+ weekTextName = Language.StringByID(StringId.sunday);
+ }
+ break;
+ }
+ }
+ else
+ {
+ if (Language.StringByID(StringId.monday) == s)
+ {
+ weekTextName = "1";
+ }
+ else if (Language.StringByID(StringId.tuesday) == s)
+ {
+ weekTextName = "2";
+ }
+ else if (Language.StringByID(StringId.wednesday) == s)
+ {
+ weekTextName = "3";
+ }
+ else if (Language.StringByID(StringId.thursday) == s)
+ {
+ weekTextName = "4";
+ }
+ else if (Language.StringByID(StringId.friday) == s)
+ {
+ weekTextName = "5";
+ }
+ else if (Language.StringByID(StringId.saturday) == s)
+ {
+ weekTextName = "6";
+ }
+ else if (Language.StringByID(StringId.sunday) == s)
+ {
+ weekTextName = "0";
+ }
+ }
+ stateList.Add(weekTextName);
+ }
+
+ return stateList;
+ }
}
}
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
index cf31198..2b375d9 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
@@ -165,32 +165,31 @@
public static string GetWeekString(List<string> weekList)
{
string weekTextName = "";
-
- if (weekList.Contains("0"))
+ if (weekList.Contains("1"))
{
weekTextName += Language.StringByID(StringId.monday) + ",";
}
- if (weekList.Contains("1"))
+ if (weekList.Contains("2"))
{
weekTextName += Language.StringByID(StringId.tuesday) + ",";
}
- if (weekList.Contains("2"))
+ if (weekList.Contains("3"))
{
weekTextName += Language.StringByID(StringId.wednesday) + ",";
}
- if (weekList.Contains("3"))
+ if (weekList.Contains("4"))
{
weekTextName += Language.StringByID(StringId.thursday) + ",";
}
- if (weekList.Contains("4"))
+ if (weekList.Contains("5"))
{
weekTextName += Language.StringByID(StringId.friday) + ",";
}
- if (weekList.Contains("5"))
+ if (weekList.Contains("6"))
{
weekTextName += Language.StringByID(StringId.saturday) + ",";
}
- if (weekList.Contains("6"))
+ if (weekList.Contains("0"))
{
weekTextName += Language.StringByID(StringId.sunday) + ",";
}
@@ -200,6 +199,8 @@
}
return weekTextName.TrimEnd(',');
}
+
+
/// <summary>
/// 鑾峰彇姣忔湀鐨勫瓧绗︿覆
/// </summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
index ae55422..b72d257 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -1,10 +1,145 @@
锘縰sing System;
+using System.Collections.Generic;
+using Shared;
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
public class PublicInterface
{
- public PublicInterface()
+ /// <summary>
+ /// 鍗曢�夋嫨
+ /// </summary>
+ /// <param name="frameLayout">鐖舵帶浠�</param>
+ /// <param name="list">鏄剧ず鏁版嵁婧�</param>
+ /// <param name="titleText"></param>
+ /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param>
+ /// <param name="action">杩斿洖鍊�</param>
+ public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText, Action<string> action)
{
+ LogicView.DateView view = new LogicView.DateView();
+ view.btnTitle.Text = titleText;
+ view.FLayoutView(frameLayout, list.Count);
+ view.btnCancel.MouseUpEventHandler += (sender, e) =>
+ {
+ //绉婚櫎fLayout鐣岄潰
+ frameLayout.RemoveFromParent();
+ };
+ ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
+ Button checkBtn = new Button
+ {
+ Tag = "unknown",
+ };
+ for (int i = 0; i < list.Count; i++)
+ {
+ string str = list[i];
+ LogicView.CheckView checkView = new LogicView.CheckView();
+ checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+ view.frameLayout.AddChidren(checkView.FLayoutView());
+ checkView.btnText.Text = str;
+ checkView.btnClick.Tag = str;//鏍囪
+
+ if (stateText == str)
+ {
+ //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
+ checkBtn.IsSelected = false;
+ checkView.btnCheckIcon.IsSelected = true;
+ checkBtn = checkView.btnCheckIcon;
+ checkBtn.Tag = checkView.btnClick.Tag.ToString();
+ }
+ //鐐瑰嚮浜嬩欢
+ checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
+ {
+ checkBtn.IsSelected = false;
+ checkView.btnCheckIcon.IsSelected = true;
+ checkBtn = checkView.btnCheckIcon;
+ checkBtn.Tag = checkView.btnClick.Tag.ToString();
+ };
+
+ }
+ view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+ {
+ if (checkBtn.Tag.ToString() == "unknown")
+ {
+ return;
+ }
+ action(checkBtn.Tag.ToString());
+ //绉婚櫎fLayout鐣岄潰
+ frameLayout.RemoveFromParent();
+ };
+
}
+ /// <summary>
+ /// 澶氶�夋嫨
+ /// </summary>
+ /// <param name="frameLayout">鐖舵帶浠�</param>
+ /// <param name="list">鏄剧ず鏁版嵁婧�</param>
+ /// <param name="titleText"></param>
+ /// <param name="stateTextList">涔嬪墠鐘舵�佹枃鏈�</param>
+ /// <param name="action">杩斿洖鍊�</param>
+ public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action)
+ {
+ LogicView.DateView view = new LogicView.DateView();
+ view.btnTitle.Text = titleText;
+ view.FLayoutView(frameLayout, list.Count);
+ view.btnCancel.MouseUpEventHandler += (sender, e) =>
+ {
+ //绉婚櫎fLayout鐣岄潰
+ view.frameLayout.RemoveFromParent();
+ };
+ for (int i = 0; i < list.Count; i++)
+ {
+ string str = list[i];
+ LogicView.CheckView checkView = new LogicView.CheckView();
+ checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+ view.frameLayout.AddChidren(checkView.FLayoutView());
+ checkView.btnText.Text = str;
+ checkView.btnClick.Tag = str;//鏍囪
+
+ if (stateTextList.Contains(str))
+ {
+ //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
+ checkView.btnCheckIcon.IsSelected = true;
+ }
+ //鐐瑰嚮浜嬩欢
+ checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
+ {
+
+ string clickIndex = checkView.btnClick.Tag.ToString();
+ checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected;
+ if (checkView.btnClick.IsSelected)
+ {
+ checkView.btnCheckIcon.IsSelected = true;
+ if (!stateTextList.Contains(clickIndex))
+ {
+ //娣诲姞閫変腑鏁版嵁
+ stateTextList.Add(clickIndex);
+ }
+ }
+ else
+ {
+ checkView.btnCheckIcon.IsSelected = false;
+ if (stateTextList.Contains(clickIndex))
+ {
+ //绉婚櫎閫変腑鏁版嵁
+ stateTextList.Remove(clickIndex);
+ }
+ }
+
+ };
+
+ }
+ view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+ {
+ if (stateTextList.Count == 0)
+ {
+ return;
+ }
+ action(stateTextList);
+ //绉婚櫎fLayout鐣岄潰
+ frameLayout.RemoveFromParent();
+ };
+
+ }
+
+
}
}
--
Gitblit v1.8.0