public PATConfiguration(PAT pat) { InitializeComponent(); foreach (var patItem in pat.PatItems) { colPatItem.Add(patItem.Key); if (flag) { foreach (var regItem in patItem.Value.RegItems) { colRegItem.Add(regItem.Key); } flag = false; } } if (colRegItem.Count == 0) { colRegItem.Add("1C"); } lstPatItem.ItemsSource = colPatItem; lstRegItem.ItemsSource = colRegItem; }
private void mitNew_Click(object sender, RoutedEventArgs e) { pat = new PAT() { PosOfClock = 0, PosOfData = 1, UserID = "0" }; txtPosOfClock.Text = "0"; txtPosOfData.Text = "1"; txtUserID.Text = "0"; txtDataOf1C.Text = sDataOf1C; txtData.Text = "0"; btnConfiguration.IsEnabled = true; txtPosOfClock.IsReadOnly = false; txtPosOfData.IsReadOnly = false; txtUserID.IsReadOnly = false; txtDataOf1C.IsReadOnly = false; }
private void btnConfiguration_Click(object sender, RoutedEventArgs e) { PATConfiguration config = new PATConfiguration(pat); config.ShowDialog(); if (config.listPatItemName != null && config.listRegItemName != null) { PAT patNew = new PAT(); patNew.PosOfClock = pat.PosOfClock; patNew.PosOfData = pat.PosOfData; patNew.UserID = pat.UserID; foreach (var patName in config.listPatItemName) { if (pat.PatItems.Any(x => x.Key == patName)) { PATItem patItem = pat.PatItems[patName]; PATItem patItemNew = new PATItem(); foreach (var regName in config.listRegItemName) { if (patItem.RegItems.Any(x => x.Key == regName)) { patItemNew.RegItems.Add(regName, patItem.RegItems[regName]); } else { patItemNew.RegItems.Add(regName, "0"); } } patNew.PatItems.Add(patName, patItemNew); } else { PATItem patItemNew = new PATItem(); foreach (var regName in config.listRegItemName) { if (regName == "1C") { patItemNew.RegItems.Add(regName, sDataOf1C); } else { patItemNew.RegItems.Add(regName, "0"); } } patNew.PatItems.Add(patName, patItemNew); } } pat = patNew; L1.Items.Clear(); foreach (var patItem in pat.PatItems) { TreeViewItem L2 = new TreeViewItem(); L2.Header = patItem.Key; L1.Items.Add(L2); foreach (var regitem in patItem.Value.RegItems) { TreeViewItem L3 = new TreeViewItem(); L3.Header = regitem.Key; L2.Items.Add(L3); } } listRegItemName = config.listRegItemName; } }