HDL Home App 第二版本 旧平台金堂用 正在使用
chenqiyang
2022-06-22 dc0309e64f02227d8e1468b7326c07955f804612
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/NormalSelectControl.cs
old mode 100755 new mode 100644
@@ -1,112 +1,154 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// 做成一个简单的选择控件
    /// </summary>
    public class NormalSelectControl : FrameRowControl
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 显示文本
        /// </summary>
        private string textValue = string.Empty;
        /// <summary>
        /// 文本控件
        /// </summary>
        private NormalViewControl btnText = null;
        /// <summary>
        /// 选择控件
        /// </summary>
        private MostRightIconControl btnSelect = null;
        /// <summary>
        /// 状态
        /// </summary>
        private StatuMode Statu = StatuMode.UN_SELECT;
        /// <summary>
        /// 是否处于选择状态
        /// </summary>
        public bool IsSelected
        {
            get { return Statu == StatuMode.SELECT; }
            set
            {
                if (value == false)
                {
                    this.SetUnselectStatu();
                }
                else
                {
                    this.SetSelectStatu();
                }
            }
        }
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 做成一个简单的选择控件
        /// </summary>
        /// <param name="i_text">显示文本</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(真实值,有些界面需要这种特殊操作)</param>
        public NormalSelectControl(string i_text, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
        {
            this.textValue = i_text;
        }
        /// <summary>
        /// 初始化内部控件
        /// </summary>
        public void InitControl()
        {
            //显示文本
            btnText = this.AddLeftCaption(this.textValue, 600);
            btnText.TextColor = UserCenterColor.Current.TextGrayColor3;
            //选择控件
            btnSelect = this.AddMostRightEmptyIcon(58, 58);
            btnSelect.Visible = false;
            btnSelect.UnSelectedImagePath = "Item/Tick.png";
        }
        #endregion
        #region ■ 选择状态___________________________
        /// <summary>
        /// 设定选择状态
        /// </summary>
        private void SetSelectStatu()
        {
            if (Statu == StatuMode.SELECT)
            {
                return;
            }
            btnSelect.Visible = true;
            btnText.TextColor = UserCenterColor.Current.TextColor1;
            //状态变更
            Statu = StatuMode.SELECT;
        }
        /// <summary>
        /// 设置非选择状态
        /// </summary>
        private void SetUnselectStatu()
        {
            if (Statu == StatuMode.UN_SELECT)
            {
                return;
            }
            btnSelect.Visible = false;
            btnText.TextColor = UserCenterColor.Current.TextGrayColor3;
            //状态变更
            Statu = StatuMode.UN_SELECT;
        }
        #endregion
    }
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.UserCenter
{
    /// <summary>
    /// 做成一个简单的选择控件
    /// </summary>
    public class NormalSelectControl : FrameRowControl
    {
        #region ■ 变量声明___________________________
        /// <summary>
        /// 显示文本
        /// </summary>
        private string textValue = string.Empty;
        /// <summary>
        /// 下部显示文本
        /// </summary>
        private string textBottomValue = null;
        /// <summary>
        /// 文本控件
        /// </summary>
        private NormalViewControl btnText = null;
        /// <summary>
        /// 选择控件
        /// </summary>
        private MostRightIconControl btnSelect = null;
        /// <summary>
        /// 状态
        /// </summary>
        private StatuMode Statu = StatuMode.UN_SELECT;
        /// <summary>
        /// 是否处于选择状态
        /// </summary>
        public bool IsSelected
        {
            get { return Statu == StatuMode.SELECT; }
            set
            {
                if (value == false)
                {
                    this.SetUnselectStatu();
                }
                else
                {
                    this.SetSelectStatu();
                }
            }
        }
        /// <summary>
        /// 处于选中或者非选中状态时,是否变更字体颜色
        /// </summary>
        public bool ChangedTextColor = true;
        #endregion
        #region ■ 初始化_____________________________
        /// <summary>
        /// 做成一个简单的选择控件
        /// </summary>
        /// <param name="i_text">显示文本</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(【列表控件的rowSpace/2】即可,不懂默认为0即可)</param>
        public NormalSelectControl(string i_text, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
        {
            this.textValue = i_text;
        }
        /// <summary>
        /// 做成一个简单的选择控件
        /// </summary>
        /// <param name="i_topText">上部显示文本</param>
        /// <param name="i_bottomText">下部显示文本</param>
        /// <param name="i_ChidrenYaxis">子控件Y轴偏移量(【列表控件的rowSpace/2】即可,不懂默认为0即可)</param>
        public NormalSelectControl(string i_topText, string i_bottomText, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis)
        {
            this.textValue = i_topText;
            this.textBottomValue = i_bottomText;
        }
        /// <summary>
        /// 初始化内部控件
        /// </summary>
        /// <param name="iconParh">左侧图标</param>
        public void InitControl(string iconParh = "")
        {
            //图片
            if (iconParh != "")
            {
                var btnIcon = this.AddLeftIcon();
                btnIcon.UnSelectedImagePath = iconParh;
            }
            if (this.textBottomValue == null)
            {
                //显示文本
                btnText = this.AddLeftCaption(this.textValue, 600);
                btnText.TextColor = UserCenterColor.Current.TextGrayColor3;
            }
            else
            {
                //显示文本
                btnText = this.AddTopView(this.textValue, 600);
                this.AddBottomView(this.textBottomValue, 600);
            }
            //选择控件
            btnSelect = this.AddMostRightEmptyIcon(58, 58);
            btnSelect.Visible = false;
            btnSelect.UnSelectedImagePath = "Item/ItemSelected.png";
        }
        #endregion
        #region ■ 选择状态___________________________
        /// <summary>
        /// 设定选择状态
        /// </summary>
        private void SetSelectStatu()
        {
            if (Statu == StatuMode.SELECT)
            {
                return;
            }
            btnSelect.Visible = true;
            if (this.ChangedTextColor == true)
            {
                btnText.TextColor = UserCenterColor.Current.TextColor1;
            }
            //状态变更
            Statu = StatuMode.SELECT;
        }
        /// <summary>
        /// 设置非选择状态
        /// </summary>
        private void SetUnselectStatu()
        {
            if (Statu == StatuMode.UN_SELECT)
            {
                return;
            }
            btnSelect.Visible = false;
            if (this.ChangedTextColor == true)
            {
                btnText.TextColor = UserCenterColor.Current.TextGrayColor3;
            }
            //状态变更
            Statu = StatuMode.UN_SELECT;
        }
        #endregion
    }
}