using ivf_tl_Operate.Converts; using ivf_tl_Operate.ViewModel; using ivf_tl_Operate.Windows; using System.Windows; using System.Windows.Controls; namespace ivf_tl_Operate.View { /// /// M5-02-4:统一配置页交互逻辑。 /// PasswordBox 不支持绑定,故 VM↔密码框在加载/保存时手工同步;其余 TextBox 直接读写控件。 /// 保存经 ViewModel.SaveAll → AppConfigHelper(凭据加密)。既有设置页入口零改动。 /// public partial class UnifiedConfigView : UserControl { private readonly UnifiedConfigViewModel _vm; public UnifiedConfigView() { InitializeComponent(); _vm = new UnifiedConfigViewModel(); this.DataContext = _vm; LoadToControls(); } /// 把 VM 当前值填入各控件(含 PasswordBox)。 private void LoadToControls() { _urlIp.Text = _vm.UrlIp; _urlPort.Text = _vm.UrlPort; _mqttIp.Text = _vm.MqttIp; _mqttPort.Text = _vm.MqttPort; _kfkaIP.Text = _vm.KfkaIP; _kfkaPort.Text = _vm.KfkaPort; _cacheDisk.Text = _vm.CacheDisk; _tlNum.Text = _vm.TlNum; _language.Text = _vm.Language; _houseEnabled.Text = _vm.HouseEnabled; _userName.Text = _vm.UserName; _passWord.Password = _vm.PassWord; _engineerPwd.Password = _vm.EngineerPwd; } /// 把各控件值回写 VM。 private void CollectFromControls() { _vm.UrlIp = _urlIp.Text; _vm.UrlPort = _urlPort.Text; _vm.MqttIp = _mqttIp.Text; _vm.MqttPort = _mqttPort.Text; _vm.KfkaIP = _kfkaIP.Text; _vm.KfkaPort = _kfkaPort.Text; _vm.CacheDisk = _cacheDisk.Text; _vm.TlNum = _tlNum.Text; _vm.Language = _language.Text; _vm.HouseEnabled = _houseEnabled.Text; _vm.UserName = _userName.Text; _vm.PassWord = _passWord.Password; _vm.EngineerPwd = _engineerPwd.Password; } private void Save_Click(object sender, RoutedEventArgs e) { CollectFromControls(); _vm.SaveAll(); new MessagePrompt().ShowCenterOwnerSuccess(AppData.Instance.MainWindow, KeyToStringConvert.GetLanguageStringByKey("C0232")); } private void Return_Click(object sender, RoutedEventArgs e) { AppData.Instance.BackMainPage(); } } }