UnifiedConfigView.xaml.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using ivf_tl_Operate.Converts;
  2. using ivf_tl_Operate.ViewModel;
  3. using ivf_tl_Operate.Windows;
  4. using System.Windows;
  5. using System.Windows.Controls;
  6. namespace ivf_tl_Operate.View
  7. {
  8. /// <summary>
  9. /// M5-02-4:统一配置页交互逻辑。
  10. /// PasswordBox 不支持绑定,故 VM↔密码框在加载/保存时手工同步;其余 TextBox 直接读写控件。
  11. /// 保存经 ViewModel.SaveAll → AppConfigHelper(凭据加密)。既有设置页入口零改动。
  12. /// </summary>
  13. public partial class UnifiedConfigView : UserControl
  14. {
  15. private readonly UnifiedConfigViewModel _vm;
  16. public UnifiedConfigView()
  17. {
  18. InitializeComponent();
  19. _vm = new UnifiedConfigViewModel();
  20. this.DataContext = _vm;
  21. LoadToControls();
  22. }
  23. /// <summary>把 VM 当前值填入各控件(含 PasswordBox)。</summary>
  24. private void LoadToControls()
  25. {
  26. _urlIp.Text = _vm.UrlIp;
  27. _urlPort.Text = _vm.UrlPort;
  28. _mqttIp.Text = _vm.MqttIp;
  29. _mqttPort.Text = _vm.MqttPort;
  30. _kfkaIP.Text = _vm.KfkaIP;
  31. _kfkaPort.Text = _vm.KfkaPort;
  32. _cacheDisk.Text = _vm.CacheDisk;
  33. _tlNum.Text = _vm.TlNum;
  34. _language.Text = _vm.Language;
  35. _houseEnabled.Text = _vm.HouseEnabled;
  36. _userName.Text = _vm.UserName;
  37. _passWord.Password = _vm.PassWord;
  38. _engineerPwd.Password = _vm.EngineerPwd;
  39. }
  40. /// <summary>把各控件值回写 VM。</summary>
  41. private void CollectFromControls()
  42. {
  43. _vm.UrlIp = _urlIp.Text;
  44. _vm.UrlPort = _urlPort.Text;
  45. _vm.MqttIp = _mqttIp.Text;
  46. _vm.MqttPort = _mqttPort.Text;
  47. _vm.KfkaIP = _kfkaIP.Text;
  48. _vm.KfkaPort = _kfkaPort.Text;
  49. _vm.CacheDisk = _cacheDisk.Text;
  50. _vm.TlNum = _tlNum.Text;
  51. _vm.Language = _language.Text;
  52. _vm.HouseEnabled = _houseEnabled.Text;
  53. _vm.UserName = _userName.Text;
  54. _vm.PassWord = _passWord.Password;
  55. _vm.EngineerPwd = _engineerPwd.Password;
  56. }
  57. private void Save_Click(object sender, RoutedEventArgs e)
  58. {
  59. CollectFromControls();
  60. _vm.SaveAll();
  61. new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0232"));
  62. }
  63. private void Return_Click(object sender, RoutedEventArgs e)
  64. {
  65. AppData.Instance.BackMainPage();
  66. }
  67. }
  68. }