NS_Keyword.xaml.cs 4.7 KB
using BLL;
using Model;
using SmartScan.PlusSettingFrm;
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.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace SmartScan.SetControl.WPF
{
    /// <summary>
    /// NS_Keyword.xaml 的交互逻辑
    /// </summary>
    public partial class NS_Keyword : System.Windows.Controls.UserControl
    {
        private readonly List<string> keyCopy;
        public string ButtonContent => LanguageWwitchover.GetText("ButtonContentKey");
        public string TextBlockContent => LanguageWwitchover.GetText("TextBlockContentKey");
        public NS_Keyword()
        {
            InitializeComponent();
            keyCopy = new(BLLCommon.macroKey);
            LstKey.ItemsSource=keyCopy;
            string YU = BLLCommon.config.Language;
            if (YU == "简体中文")
            {
                YU = "zh-CN";
            }
            else
            {
                YU = "en-US";
            }
            LanguageWwitchover.LoadPath(FilePath.LANGUAGE_DIR);
            LanguageWwitchover.LoadLanguage(YU);
            
            //ChangeInfo.LanguageService.ChangLanguagePublic(YU);
            //LanguageWwitchover.SetLanguage(this);
        }

        private void LstKey_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (LstKey.SelectedItem != null)
            {
                string selectedValue = LstKey.SelectedItem.ToString();
                lst_key.Text = selectedValue.ToString();
               
            }
        }

        private void BtnAddKey_Click(object sender, RoutedEventArgs e)
        {
            string text = lst_key.Text;
            int index = keyCopy.FindIndex(match => match == text);
            if (index == -1)
            {
                keyCopy.Add(text);
                LstKey.ItemsSource = null;
                LstKey.ItemsSource=keyCopy;
            }
            else
            {
                string hint = Asa.FaceControl.Language.Dialog("KeyExists");
                hint = hint.Replace("[name]", text);
                new Asa.FaceControl.FaceMessageBox("", hint, MessageBoxButtons.OK).ShowDialog();
            }
        }

        private void BtnDelKey_Click(object sender, RoutedEventArgs e)
        {
            int index = LstKey.SelectedIndex;
            if (index == -1 || index >= keyCopy.Count) return;

            keyCopy.RemoveAt(index);
            LstKey.ItemsSource = null;
            LstKey.ItemsSource = keyCopy;
            var keyname = ConfigHelper.Config.Get("Label_Key");
            if (!string.IsNullOrWhiteSpace(keyname))
            {
                UsrKeywordlabeling.Deletskeyname();
            }
        }

        private void BtnUpdateKey_Click(object sender, RoutedEventArgs e)
        {
            if (LstKey.SelectedIndex == -1) return;
            string text = lst_key.Text;
            int index = keyCopy.FindIndex(match => match == text);
            if (index == -1)
            {
                keyCopy[LstKey.SelectedIndex] = text;
                var oldname = LstKey.Items[LstKey.SelectedIndex];
                var keyname = ConfigHelper.Config.Get("Label_Key");
                if (!string.IsNullOrWhiteSpace(keyname))
                {
                    //ConfigHelper.Config.Set("Label_Key", "Part No");
                    if (oldname.ToString() == keyname)
                    {
                        UsrKeywordlabeling.Updatekeyname(text);
                    }
                }
                LstKey.ItemsSource = null;
                LstKey.ItemsSource = keyCopy;
                //LstKey.Items[LstKey.SelectedIndex] = text;
                setRIkey();
            }
            else
            {
                string hint = Asa.FaceControl.Language.Dialog("KeyExists");
                hint = hint.Replace("[name]", text);
                new Asa.FaceControl.FaceMessageBox("", hint, MessageBoxButtons.OK).ShowDialog();
            }
        }
        void setRIkey()
        {
            //LstKey.Items.Clear();
            LstKey.ItemsSource=keyCopy;
            for (int i = 0; i < LstKey.Items.Count; i++)
            {
                if (LstKey.Items[i] == BLLCommon.config.ReelIDKeyWord)
                    LstKey.Items[i] = "[RI]" + LstKey.Items[i];
            }
        }

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            LanguageWwitchover.SetLanguage(this);
        }
    }
}