using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
namespace PunkHPX8_Themes.CustomControls
{
    public class CommonValveControl : Button
    {
        public CommonValveControl()
        {
            //this.MouseDoubleClick += CommonValveControl_MouseDoubleClick;
        }
        static CommonValveControl()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(CommonValveControl), new FrameworkPropertyMetadata(typeof(CommonValveControl)));
        }
        //private  void CommonValveControl_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
        //{
        //    Status = !Status;
        //}
        public override void OnApplyTemplate()
        {
            var  devBtn = GetTemplateChild("mainBody") as Grid;
            devBtn.MouseLeftButtonDown += DevBtn_Click;
            base.OnApplyTemplate();
        }
        private void DevBtn_Click(object sender, RoutedEventArgs e)
        {
            //if (IsCanEdit == true)
            //{ 
            // Status = !Status;
            //}
        }
        public bool Status
        {
            get => (bool)GetValue(StatusProperty);
            set => SetValue(StatusProperty, value);
        }
        public static readonly DependencyProperty StatusProperty = DependencyProperty.Register(
           "Status",
           typeof(bool),
           typeof(CommonValveControl));
        public static readonly DependencyProperty ValveOrientationProperty = DependencyProperty.Register(
            "ValveOrientation",
            typeof(Orientation),
            typeof(CommonValveControl));
        public Orientation ValveOrientation
        {
            get => (Orientation)GetValue(ValveOrientationProperty);
            set => SetValue(ValveOrientationProperty, value);
        }
        public static readonly DependencyProperty IsCanEditProperty = DependencyProperty.Register("IsCanEdit"
            , typeof(bool), typeof(CommonValveControl));
        /// 
        /// 是否可以编辑
        /// 
        public bool IsCanEdit
        {
            get { return (bool)GetValue(IsCanEditProperty); }
            set { SetValue(IsCanEditProperty, value); }
        }
        
        public static readonly DependencyProperty ValveTypeProperty = DependencyProperty.Register(
           "ValveType", typeof(string), typeof(CommonValveControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
        /// 
        /// Valve类型
        /// 
        public string ValveType
        {
            get => (string)GetValue(ValveTypeProperty);
            set => SetValue(ValveTypeProperty, value);
        }
        public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register(
           "ModuleName", typeof(string), typeof(CommonValveControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
        /// 
        /// ModuleName
        /// 
        public string ModuleName
        {
            get => (string)GetValue(ModuleNameProperty);
            set => SetValue(ModuleNameProperty, value);
        }
        public static readonly DependencyProperty OperationNameProperty = DependencyProperty.Register(
           "OperationName", typeof(string), typeof(CommonValveControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender));
        /// 
        /// OperationName
        /// 
        public string OperationName
        {
            get => (string)GetValue(OperationNameProperty);
            set => SetValue(OperationNameProperty, value);
        }
        private void OpenClick(object sender, RoutedEventArgs e)
        {
        }
        private void CloseClick(object sender, RoutedEventArgs e)
        {
        }
    }
}