From 304dca51c28183a9dfc192c6b93ea1c00bdd5d97 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 01 七月 2020 15:00:40 +0800
Subject: [PATCH] 添加了写入功能类型

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs |  207 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 207 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs
index d0b4550..5c66c54 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindCommonLayout.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using Shared.Common;
 using ZigBee.Device;
 
@@ -11,6 +12,15 @@
 
         }
         #region 鈼� 鍙橀噺鐢虫槑__________________________
+        /// <summary>
+        /// 妤煎眰鍥炶皟
+        /// </summary>
+        public Action FloorAction = null;
+        /// <summary>
+        /// 閫変腑鐨勬ゼ灞傚洖璋僛
+        /// </summary>
+        public Action<string, Button> ChooseFloorAction = null;
+
         public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout };
         public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1925 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout };
 
@@ -109,5 +119,202 @@
             };
             this.midFrameLayout.AddChidren(bottomFrameLayout1);
         }
+
+        /// <summary>
+        /// 娣诲姞妤煎眰UI
+        /// </summary> 
+        public void BindDownFrameLayout(FrameLayout frameLayout, Panel curControlDev, Dictionary<string, string> dicFloorList, ref Button btnFloorText)
+        {
+            var btnAddFrameLayout = new FrameLayout
+            {
+                X = Application.GetRealWidth(619),
+            };
+            this.titleFrameLayout.AddChidren(btnAddFrameLayout);
+
+            btnFloorText = new Button
+            {
+                Width = Application.GetRealWidth(300 - 69 - 58),
+                Text = Language.StringByID(R.MyInternationalizationString.FirstFloor),
+                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                TextSize = 14,
+                IsBold = true,
+                TextAlignment = TextAlignment.CenterRight,
+            };
+            btnAddFrameLayout.AddChidren(btnFloorText);
+
+            var btnBindDownFrameLayout = new FrameLayout
+            {
+                Width = Application.GetMinReal(69 + 58),
+                X = Application.GetRealWidth(300 - 69 - 58),
+            };
+            btnAddFrameLayout.AddChidren(btnBindDownFrameLayout);
+
+            var btnBindDown = new Button
+            {
+                Height = Application.GetMinReal(69),
+                Width = Application.GetMinReal(69),
+                UnSelectedImagePath = "BindPic/BindDown.png",
+                Gravity = Gravity.CenterVertical,
+            };
+            btnBindDownFrameLayout.AddChidren(btnBindDown);
+
+            EventHandler<MouseEventArgs> eHandlerBindDown = (sender, e) =>
+            {
+                if (dicFloorList == null)
+                {
+                    dicFloorList = new Dictionary<string, string>();
+                }
+                SideslipFramelayout(curControlDev, dicFloorList);
+            };
+            btnBindDown.MouseDownEventHandler += eHandlerBindDown;
+            btnBindDownFrameLayout.MouseDownEventHandler += eHandlerBindDown;
+            if (Common.Config.Instance.Home.FloorDics.Count == 0)
+            {
+                btnAddFrameLayout.Width = 0;
+            }
+            else
+            {
+                btnAddFrameLayout.Width = Application.GetRealWidth(300);
+            }
+        }
+
+        /// <summary>
+        /// 妤煎眰閫夋嫨鐨勪晶杈规爮
+        /// </summary>
+        void SideslipFramelayout(Panel curControlDev, Dictionary<string, string> dicFloorList)
+        {
+            var dialog = new Dialog
+            {
+            };
+            dialog.Show();
+
+            var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
+            dialog.AddChidren(flMain);
+            flMain.MouseUpEventHandler += (sender11, e11) =>
+            {
+                dialog.Close();
+            };
+
+            var sidelipFrameLayout = new FrameLayout()
+            {
+                Width = Application.GetMinReal(449),
+                Y = Application.GetRealHeight(161),
+                X = Application.GetRealWidth(596),
+                BackgroundImagePath = "DoorLock/SideslipPic.png",
+            };
+            flMain.AddChidren(sidelipFrameLayout);
+
+            var btnSelectFloor = new Button()
+            {
+                Width = Application.GetRealWidth(200),
+                Height = Application.GetRealHeight(58),
+                X = Application.GetRealWidth(81),
+                Y = Application.GetRealHeight(81),
+                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+                TextSize = 14,
+                IsBold = true,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextID = R.MyInternationalizationString.SelectFloor,
+            };
+            sidelipFrameLayout.AddChidren(btnSelectFloor);
+
+            var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout()
+            {
+                Y = btnSelectFloor.Bottom + Application.GetRealHeight(45),
+                Height = Application.GetRealHeight(600),
+            };
+            sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
+
+            Button oldbutton = null;
+            Button oldbuttonText = null;
+            int count = 0;
+            foreach (var floorId in dicFloorList.Keys)
+            {
+                var rowFrameLayout = new RowLayout()
+                {
+                    Height = Application.GetRealHeight(152),
+                    LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+                    X = Application.GetRealWidth(81),
+                };
+                sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout);
+
+                var btnAllMethod = new Button()
+                {
+                    Width = Application.GetMinReal(81),
+                    Height = Application.GetMinReal(81),
+                    UnSelectedImagePath = "Floor/Floor.png",
+                    SelectedImagePath = "Floor/FloorSelected.png",
+                    Gravity = Gravity.CenterVertical,
+                };
+                rowFrameLayout.AddChidren(btnAllMethod);
+
+                var btnMethodText = new Button()
+                {
+                    Width = Application.GetRealWidth(311),
+                    Height = Application.GetRealHeight(58),
+                    X = Application.GetRealWidth(92),
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+                    TextSize = 14,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = dicFloorList[floorId],
+                };
+                rowFrameLayout.AddChidren(btnMethodText);
+
+                if (curControlDev.currentSelectFloorId == floorId)
+                {
+                    btnAllMethod.IsSelected = true;
+                    btnAllMethod.IsBold = true;
+                    btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                }
+
+                EventHandler<MouseEventArgs> hander = (sender, e) =>
+                {
+                    if (curControlDev.currentSelectFloorId == floorId)
+                    {
+                        return;
+                    }
+                    curControlDev.currentSelectFloorId = floorId;
+
+                    if (!btnMethodText.IsSelected)
+                    {
+                        if (oldbutton != null)
+                        {
+                            oldbutton.IsSelected = false;
+                        }
+                        if (oldbuttonText != null)
+                        {
+                            oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
+                        }
+                        oldbutton = btnMethodText;
+                        oldbuttonText = btnMethodText;
+                        btnMethodText.IsSelected = true;
+                        oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+                        oldbuttonText.IsBold = true;
+                    }
+
+                    int index = 0;
+                    dialog.Close();
+                    ChooseFloorAction?.Invoke(floorId, btnMethodText);
+                };
+                btnAllMethod.MouseUpEventHandler += hander;
+                rowFrameLayout.MouseUpEventHandler += hander;
+                btnMethodText.MouseUpEventHandler += hander;
+                count++;
+            }
+
+            if (count == 0)
+            {
+                sidelipFrameLayout.Height = 0;
+            }
+            else if (count <= 4 && count > 0)
+            {
+                sidelipFrameLayout.Height = Application.GetRealHeight(180) + count * Application.GetRealHeight(150);
+            }
+            else
+            {
+                sidelipFrameLayout.Height = Application.GetMinReal(780);
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0