public NetworkPage()
        {
            InitializeComponent();
            VentsTools.onChangeSettingsString += this.UpdateMessageLabel;
            onVipsChange += NetworkPage_onVipsChange;
            Vips = new ventEnergyIPSettings();
            ventEnergyIPSettings.onBelsIPChange += UpdateBelsIP;
            ventEnergyIPSettings.onBelsMaskChange += UpdateBelsMask;
            ventEnergyIPSettings.onBelsGateChange += UpdateBelsGate;
            ventEnergyIPSettings.onWincIPChange += UpdateWincIP;
            ventEnergyIPSettings.onWincMaskChange += UpdateWincMask;
            ventEnergyIPSettings.onWincGateChange += UpdateWincGate;

            //заполним комбобокс всеми сетевыми адаптерами в системе
            if ((_cbaItemSource = _netwAdapters.GetAdapters()) != null)
            {
                belsIPadr.IsEnabled = false;
                belsMask.IsEnabled = false;
                belsGate.IsEnabled = false;
                wincIPadr.IsEnabled = false;
                wincMask.IsEnabled = false;
                wincGate.IsEnabled = false;
                applyBelsbutt.IsEnabled = false;
                applyWincbutt.IsEnabled = false;

                comboBoxAdapters.ItemsSource = _cbaItemSource;
                _cfgthread = new Thread(() => Config());
                _cfgthread.Start();
            }
            else
            {
                _log.Info("Нет доступных сетевых адаптеров");
                VentsTools.currentSettingString = "Нет доступных сетевых адаптеров";
            }

        }
 private void NetworkPage_onVipsChange(ventEnergyIPSettings v)
 {
     Dispatcher.Invoke(new Action(() => belsIPadr.Text = v.belsIP));
     Dispatcher.Invoke(new Action(() => belsMask.Text = v.belsMask));
     Dispatcher.Invoke(new Action(() => belsGate.Text = v.belsGate));
     Dispatcher.Invoke(new Action(() => wincIPadr.Text = v.wincIP));
     Dispatcher.Invoke(new Action(() => wincMask.Text = v.wincMask));
     Dispatcher.Invoke(new Action(() => wincGate.Text = v.wincGate));
 }
 private ventEnergyIPSettings GetIPSettings(string guid)
 {
     List<string> settingsList = new List<string>();
     ventEnergyIPSettings settings = new ventEnergyIPSettings();
     string[] settingsArr;
     try
     {
         settingsArr = RegistryWorker.GetKeyValue<string[]>(Microsoft.Win32.RegistryHive.LocalMachine, VentsConst._ADAPTERSLOCATION, guid);
     }
     catch (System.IO.IOException) { settingsArr = null; }
     catch (Exception ex)
     {
         _log.Error(ex.Message + " (чтение из реестра)");
         VentsTools.currentSettingString = "Ошибка чтения реестра";
         settingsArr = null;
     }
     if (settingsArr != null)
     {
         for (int i = 0; i < VentsConst._CLIENSETTINGSCOUNT; i++)
         {
             if (i < settingsArr.Length)
                 settingsList.Add(settingsArr[i]);
             else
                 settingsList.Add("");
         }
         settings.belsIP = settingsList[0];
         settings.belsMask = settingsList[1];
         settings.belsGate = settingsList[2];
         settings.wincIP = settingsList[3];
         settings.wincMask = settingsList[4];
         settings.wincGate = settingsList[5];
     }
     return settings;
 }