SetControl.cs 1.5 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace SmartScan.SetControl.WPF.Model
{
    public class ExtensionControl
    {
        public UIElement Control { get; set; }
        public string Key { get; set; }
        public string LinkName { get; set; }
        public bool CanClear { get; set; }
    }
    public class CurrentExtension
    {
        private List<ExtensionControl> extensions;
        public void Load(List<ExtensionControl> extensions)
        {
            this.extensions = extensions;
        }
        // 获取控件值的方法
        public string GetControlValue(string key)
        {
            var ext = extensions?.FirstOrDefault(e => e.Key == key);
            if (ext?.Control is TextBox tb)
                return tb.Text;
            else if (ext?.Control is ComboBox cb)
                return cb.Text;

            return string.Empty;
        }
        // 设置控件值的方法
        public void SetControlValue(string key, string value)
        {
            var ext = extensions?.FirstOrDefault(e => e.Key == key);
            if (ext?.Control is TextBox tb)
                tb.Text = value;
            else if (ext?.Control is ComboBox cb)
                cb.Text = value;
        }
        // 清除控件值的方法
        public void ClearControlValue(string key)
        {
            SetControlValue(key, string.Empty);
        }
    }
}