被调用的UI,修改后,改变父界面控件的值
HostWindow.cs(父界面)
public partial class HostWindow : BaseWindow { public HostWindow(AppContext Context) : base(Context) { DataContext = new HostWindowViewModel(Context); InitializeComponent(); } //选择病历库 private void History_Click(object sender, System.Windows.RoutedEventArgs e) { GetHistory getHistory = new GetHistory(Context); getHistory.ConfirmEvent += new GetHistory.delegateConfirm(p=> { var HistoryName = getHistory.History(); if (HistoryName != MakeStatus.All) { string[] sArray = HistoryName.Split('#'); var sqlshow = sArray[0]; var tableshow = sArray[1]; RegistryStorageHelper.SetValueToReg("HistoryText", tableshow); RegistryStorageHelper.SetValueToReg("HistoryUid", sqlshow); (this.DataContext as HostWindowViewModel).SelectedMedicalRecord = tableshow; } else { RegistryStorageHelper.SetValueToReg("HistoryText", HistoryName); RegistryStorageHelper.SetValueToReg("HistoryUid", HistoryName); (this.DataContext as HostWindowViewModel).SelectedMedicalRecord = HistoryName; } }); getHistory.Show(); } }
GetHistory.cs(被调用的界面) public partial class GetHistory : BaseSliceWindow { public delegate void delegateConfirm(GetHistory getHistory); public event delegateConfirm ConfirmEvent;
public GetHistory(AppContext context) : base(context) { InitializeComponent(); HistoryName.Content = RegistryStorageHelper.GetValueFromReg<string>("HistoryText"); HistoryName.Uid = RegistryStorageHelper.GetValueFromReg<string>("HistoryUid"); this.DataBinding(); WindowStartupLocation = WindowStartupLocation.CenterScreen; this.Topmost = true; Array.ForEach(Context.DBTypes.ToArray(), o => { allUid.Add(o.MedicalRecordDB); }); } private void Button_Click(object sender, RoutedEventArgs e) { List<Pitaya_DBType> SelectedItem = new List<Pitaya_DBType>(); Array.ForEach(list.ToArray(), o => { if (o.Selected) SelectedItem.Add(o); });
if (ConfirmEvent != null) { ConfirmEvent(this); } this.Close(); } }