黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSettionWithSourceForm.cs
@@ -8,20 +8,20 @@
namespace Shared.Phone.UserCenter.DevicePanel
{
    /// <summary>
    /// 面板的按键配置【带有绑定源】的界面
    /// <summary>
    /// 面板的按键配置【带有绑定源】的界面
    /// </summary>
    public class PanelSettionWithSourceForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
        #region ■ 变量声明___________________________
        /// <summary>
        /// 列表控件
        /// </summary>
        private FrameListControl listview = null;
        /// <summary>
        /// 设备的某一回路
        /// </summary>
        /// <summary>
        /// 列表控件
        /// </summary>
        private FrameListControl listview = null;
        /// <summary>
        /// 设备的某一回路
        /// </summary>
        private CommonDevice deviceObj = null;
        /// <summary>
        /// Ac目标名字
@@ -78,50 +78,50 @@
        #endregion
        #region ■ 初始化_____________________________
        #region ■ 初始化_____________________________
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_device">设备的某一回路</param>
        public void ShowForm(CommonDevice i_device)
        {
            this.deviceObj = i_device;
        /// <summary>
        /// 画面显示(底层会固定调用此方法,借以完成画面创建)
        /// </summary>
        /// <param name="i_device">设备的某一回路</param>
        public void ShowForm(CommonDevice i_device)
        {
            this.deviceObj = i_device;
            //获取数据
            InitInfo(deviceObj);
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion));
            //初始化中部信息
            this.InitMiddleFrame();
            //初始化右上角菜单
            this.InitTopRightMenu();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            //清空bodyFrame
            this.ClearBodyFrame();
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion));
            //初始化中部信息
            this.InitMiddleFrame();
            //初始化右上角菜单
            this.InitTopRightMenu();
        }
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private void InitMiddleFrame()
        {
            //清空bodyFrame
            this.ClearBodyFrame();
            var listBackControl = new VerticalFrameControl();
            listBackControl.Height = bodyFrameLayout.Height;
            bodyFrameLayout.AddChidren(listBackControl);
            //图片
            var btnPic = new PicViewControl(426, 426);
            //图片
            var btnPic = new PicViewControl(426, 426);
            btnPic.Y = Application.GetRealHeight(150);
            btnPic.Gravity = Gravity.CenterHorizontal;
            btnPic.Gravity = Gravity.CenterHorizontal;
            listBackControl.frameTable.AddChidren(btnPic);
            //获取设备类型的
            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment)
            {
                btnPic.UnSelectedImagePath = "DeviceItem/ButtonPanelFangyueEnvironmentBigPic.png";
                btnPic.UnSelectedImagePath = "DeviceItem/ButtonPanelFangyueEnvironmentBigPic.png";
            }
            else if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
            {
@@ -133,33 +133,33 @@
            }
            //初始化桌布
            var tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
            //初始化菜单行
            this.InitMenuRow();
            //初始化桌布完成
            tableContr.FinishInitControl();
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
            btnFinish.TextID = R.MyInternationalizationString.uSave;
            bodyFrameLayout.AddChidren(btnFinish);
            btnFinish.ButtonClickEvent += (sender, e) =>
            {
                //关闭自身
                this.CloseForm();
            };
        }
        /// <summary>
        /// 初始化菜单行
        /// </summary>
        private void InitMenuRow()
        {
            this.listview.RemoveAll();
            var tableContr = new InformationEditorControl();
            this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028);
            //初始化菜单行
            this.InitMenuRow();
            //初始化桌布完成
            tableContr.FinishInitControl();
            tableContr = null;
            //保存
            var btnFinish = new BottomClickButton();
            btnFinish.TextID = R.MyInternationalizationString.uSave;
            bodyFrameLayout.AddChidren(btnFinish);
            btnFinish.ButtonClickEvent += (sender, e) =>
            {
                //关闭自身
                this.CloseForm();
            };
        }
        /// <summary>
        /// 初始化菜单行
        /// </summary>
        private void InitMenuRow()
        {
            this.listview.RemoveAll();
            //添加Ac目标
            this.AddAcRow();
            //添加新风目标
@@ -194,14 +194,14 @@
                    });
                    //获取设备类型的
                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
                    var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
                    bool result = false;
                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                    if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                    {
                        result = await GetBindName(curControlDev);
                    }
                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueEnvironment
                        || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                    if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                        || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                    {
                        result = await GetEnvironmentBindName(curControlDev);
                    }
@@ -246,49 +246,33 @@
                bindList = panelBindListRes.getAllBindResponseData.BindList;
                foreach (var bDev in bindList)
                {
                    var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                    var device = HdlDeviceCommonLogic.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                    if (device == null)
                    {
                        continue;
                    }
                    //获取设备类型的
                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                    var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                    if (device.Type == DeviceType.Thermostat)
                    {
                        //面板的空调设备,则不显示
                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                        if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                        {
                            continue;
                        }
                        if (string.IsNullOrEmpty(bDev.ESName))
                        {
                            bindAcName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                        }
                        else
                        {
                            bindAcName = bDev.ESName;
                        }
                        bindAcName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                        bindAcDev = device;
                    }
                    else if (device.Type == DeviceType.FreshAir)
                    {
                        //面板的新风设备,则不显示
                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir
                            || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueEnvironment
                            || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                        if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
                            || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                            || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                        {
                            continue;
                        }
                        if (string.IsNullOrEmpty(bDev.ESName))
                        {
                            bindFreshAirName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                        }
                        else
                        {
                            bindFreshAirName = bDev.ESName;
                        }
                        bindFreshAirName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                        bindFreshAirDev = device;
                    }
                    else if (device.Type == DeviceType.TemperatureSensor)
@@ -296,66 +280,35 @@
                        var bD = device as TemperatureSensor;
                        if (bD.SensorDiv == 1)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindTemperatureName = bDev.ESName;
                            }
                            bindTemperatureName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindTemperatureDev = device;
                        }
                        if (bD.SensorDiv == 2)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindHumidityName = bDev.ESName;
                            }
                            bindHumidityName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindHumidityDev = device;
                        }
                    }
                    else if (device.Type == DeviceType.FreshAirHumiditySensor)
                    {
                        if (string.IsNullOrEmpty(bDev.ESName))
                        {
                            bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                        }
                        else
                        {
                            bindHumidityName = bDev.ESName;
                        }
                        bindHumidityName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                        bindHumidityDev = device;
                    }
                    else if (device.Type == DeviceType.PMSensor)
                    {
                        if (bDev.BindCluster == 1026)
                        {
                            bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                            bindTemperatureName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                            bindTemperatureDev = device;
                        }
                        if (bDev.BindCluster == 1029)
                        {
                            bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                            bindHumidityName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                            bindHumidityDev = device;
                        }
                        if (bDev.BindCluster == 1066)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindPmName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindPmName = bDev.ESName;
                            }
                            bindPmName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindPMDev = device;
                        }
                    }
@@ -390,51 +343,35 @@
                    bindList = panelBindListRes.getAllBindResponseData.BindList;
                    foreach (var bDev in bindList)
                    {
                        var device = Common.LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                        var device = HdlDeviceCommonLogic.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                        if (device == null)
                        {
                            continue;
                        }
                        //获取设备类型的
                        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                        var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                        if (device.Type == DeviceType.Thermostat)
                        {
                            //面板的空调设备,则不显示
                            if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir
                                || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueEnvironment
                                || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
                                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                            {
                                continue;
                            }
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindAcName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindAcName = bDev.ESName;
                            }
                            bindAcName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindAcDev = device;
                        }
                        else if (device.Type == DeviceType.FreshAir)
                        {
                            //面板的新风设备,则不显示
                            if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir
                                || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueEnvironment
                            || deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
                                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                            || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
                            {
                                continue;
                            }
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindFreshAirName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindFreshAirName = bDev.ESName;
                            }
                            bindFreshAirName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindFreshAirDev = device;
                        }
                        else if (device.Type == DeviceType.TemperatureSensor)
@@ -442,66 +379,35 @@
                            var bD = device as TemperatureSensor;
                            if (bD.SensorDiv == 1)
                            {
                                if (string.IsNullOrEmpty(bDev.ESName))
                                {
                                    bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                }
                                else
                                {
                                    bindTemperatureName = bDev.ESName;
                                }
                                bindTemperatureName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                                bindTemperatureDev = device;
                            }
                            if (bD.SensorDiv == 2)
                            {
                                if (string.IsNullOrEmpty(bDev.ESName))
                                {
                                    bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                }
                                else
                                {
                                    bindHumidityName = bDev.ESName;
                                }
                                bindHumidityName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                                bindHumidityDev = device;
                            }
                        }
                        else if (device.Type == DeviceType.FreshAirHumiditySensor)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindHumidityName = bDev.ESName;
                            }
                            bindHumidityName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindHumidityDev = device;
                        }
                        else if (device.Type == DeviceType.Thermostat)
                        {
                            if (string.IsNullOrEmpty(bDev.ESName))
                            {
                                bindAcName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            }
                            else
                            {
                                bindAcName = bDev.ESName;
                            }
                            bindAcName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                            bindAcDev = device;
                        }
                        else if (device.Type == DeviceType.PMSensor)
                        {
                            if (bDev.BindCluster == 1026)
                            {
                                bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                                bindTemperatureName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                                bindTemperatureDev = device;
                            }
                            if (bDev.BindCluster == 1029)
                            {
                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                                bindHumidityName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                                bindHumidityDev = device;
                            }
                        }
@@ -525,7 +431,7 @@
        private void AddAcRow()
        {
            //获取设备类型的
            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
            {
                return;
@@ -595,7 +501,7 @@
            rowNewWind.ButtonClickEvent += (sender, e) =>
            {
                //获取设备类型的
                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
                var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
                if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                {
                    this.deviceObj.DeviceEpoint = 1;
@@ -634,7 +540,7 @@
        private void AddPMRow()
        {
            //获取设备类型的
            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
            {
                return;
@@ -682,8 +588,8 @@
        /// <summary>
        ///  温度来源行
        /// </summary>
        private void AddTemperatureSensorRow()
        {
        private void AddTemperatureSensorRow()
        {
            //温度来源
            var rowTemPerature = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowTemPerature);
@@ -775,20 +681,20 @@
        private void AddLevelRow()
        {
            //亮度调节
            var rowLight = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowLight);
            rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uLightRegulation), 600);
            //底线
            rowLight.AddBottomLine();
            //右箭头
            rowLight.AddRightArrow();
            rowLight.ButtonClickEvent += (sender, e) =>
            {
                var form = new PanelBrightnessAdjustForm();
                form.AddForm(this.deviceObj);
            var rowLight = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowLight);
            rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uLightRegulation), 600);
            //底线
            rowLight.AddBottomLine();
            //右箭头
            rowLight.AddRightArrow();
            rowLight.ButtonClickEvent += (sender, e) =>
            {
                var form = new PanelBrightnessAdjustForm();
                form.AddForm(this.deviceObj);
            };
        }
        #endregion
        #endregion
        #region ■ 数据矫正_________________________ 
        /// <summary>
@@ -797,58 +703,58 @@
        private void DataCorrectionRow()
        {
            //数据矫正
            var rowLight = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowLight);
            rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.DataCorrection), 600);
            //底线
            rowLight.AddBottomLine();
            //右箭头
            rowLight.AddRightArrow();
            rowLight.ButtonClickEvent += (sender, e) =>
            {
                var form = new DataCorrectionForm();
                form.AddForm(this.deviceObj);
            var rowLight = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowLight);
            rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.DataCorrection), 600);
            //底线
            rowLight.AddBottomLine();
            //右箭头
            rowLight.AddRightArrow();
            rowLight.ButtonClickEvent += (sender, e) =>
            {
                var form = new DataCorrectionForm();
                form.AddForm(this.deviceObj);
            };
        }
        #endregion
        #endregion
        #region ■ 右上角菜单_________________________ 
        /// <summary>
        /// 初始化右上角菜单
        /// </summary>
        private void InitTopRightMenu()
        {
            //检测此回路是否拥有定位功能
            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(deviceObj) == false)
            {
                return;
            }
            var btnIcon = new MostRightIconControl(69, 69);
            btnIcon.UnSelectedImagePath = "Item/More.png";
            topFrameLayout.AddChidren(btnIcon);
            btnIcon.InitControl();
            btnIcon.ButtonClickEvent += ((sender, e) =>
            {
                //显示右上角菜单界面
                this.ShowTopRightMenu();
            });
        }
        /// <summary>
        /// 显示右上角菜单界面
        /// </summary>
        private void ShowTopRightMenu()
        {
            var frame = new TopRightMenuControl(1, 1);
            //定位
            string deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
            frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
            {
                //发送定位功能
                Common.LocalDevice.Current.SetFixedPositionCommand(deviceObj);
            });
        }
        #endregion
    }
        /// <summary>
        /// 初始化右上角菜单
        /// </summary>
        private void InitTopRightMenu()
        {
            //检测此回路是否拥有定位功能
            if (HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(deviceObj) == false)
            {
                return;
            }
            var btnIcon = new MostRightIconControl(69, 69);
            btnIcon.UnSelectedImagePath = "Item/More.png";
            topFrameLayout.AddChidren(btnIcon);
            btnIcon.InitControl();
            btnIcon.ButtonClickEvent += ((sender, e) =>
            {
                //显示右上角菜单界面
                this.ShowTopRightMenu();
            });
        }
        /// <summary>
        /// 显示右上角菜单界面
        /// </summary>
        private void ShowTopRightMenu()
        {
            var frame = new TopRightMenuControl(1, 1);
            //定位
            string deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
            frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
            {
                //发送定位功能
                HdlDeviceCommonLogic.Current.SetFixedPositionCommand(deviceObj);
            });
        }
        #endregion
    }
}