private void WijzigButton_Click(object sender, RoutedEventArgs e) { ((AdvancedVervangRegel)DataContext).VervangInfo.Wijzigstand = true; OnPropertyChanged("MeterPrijsText"); OnPropertyChanged("InstapPrijsTekst"); var wArgs = new SubmitWijzigEventArgs(((AdvancedVervangRegel)DataContext).VervangInfo.Wijzigstand); SubmitWijzig(this, wArgs); ((AdvancedVervangRegel)DataContext).SavedTegel = ((AdvancedVervangRegel)DataContext).GekozenTegel; ((AdvancedVervangRegel)DataContext).SavedOpmerking = ((AdvancedVervangRegel)DataContext).Opmerking; decimalInput.doubleValue = ((AdvancedVervangRegel)DataContext).VervangInfo.GekozenMeters; foreach (var tgl in TegelListBox.Items) { var ctgl = tgl as AdvancedTegelInfo; if (ctgl.IsGekozen == true) { var indexOfSelect = TegelListBox.Items.IndexOf(tgl); int scrollOffset = 0; if (((TegelListBox.Items.Count - 1) - indexOfSelect) > 4) { if (indexOfSelect >= 4) { scrollOffset = 3; } else { scrollOffset = 3 - indexOfSelect; } } var scrollval = indexOfSelect + scrollOffset - 1; TegelListBox.ScrollIntoView(TegelListBox.Items[scrollval]); } } }
private void OkButton_Click(object sender, RoutedEventArgs e) { ClearSearch(); var AvR = (AdvancedVervangRegel)DataContext; foreach (var tgl in TegelListBox.Items) { var tegel = tgl as AdvancedTegelInfo; if (tegel.IsGekozen) { TegelListBox.SelectedItem = tgl; } } if (TegelListBox.SelectedItem != null) { var meters = AvR.VervangInfo.GekozenMeters; var eArgs = new SubmitMetersEventArgs(meters); SubmitMeters(this, eArgs); if (meters <= 0) { MessageBox.Show("Te weinig meters opgegeven. Geef meer dan 0 meters op of verwijder deze regel"); } else if (RemainingBasisMeters > meters || (RemainingBasisMeters == meters && AvR.Status == StatusType.Basis)) { AvR.VervangInfo.Wijzigstand = false; OnPropertyChanged("TotaalPrijs"); OnPropertyChanged("MeterPrijsText"); OnPropertyChanged("InstapPrijsTekst"); SubmitMeters(this, eArgs); } else { MessageBox.Show("Te veel meters opgegeven, maximaal beschikbaar is minder dan " + RemainingBasisMeters + " meter.\n Tip: U kunt de basistegel vervangen door die regel te wijzigen"); } } else { MessageBox.Show("Geen accent tegel gekozen. \n\rDruk op het kruisje om accent te annuleren"); } var wArgs = new SubmitWijzigEventArgs(((AdvancedVervangRegel)DataContext).VervangInfo.Wijzigstand); SubmitWijzig(this, wArgs); }
private void MetersInvoerControl_SubmitWijzig(object sender, SubmitWijzigEventArgs e) { var mic = sender as MetersInvoerControl; //walk up the tree to find the ListboxItem DependencyObject tvi = findParentTreeItem(mic, typeof(ListBoxItem)); //if not null cast the Dependancy object to type of Listbox item. if (tvi != null) { ListBoxItem lbi = tvi as ListBoxItem; //select it. lbi.IsSelected = true; lbi.UpdateLayout(); } var regel = AccentenListBox.SelectedItem as AdvancedVervangRegel; Button arButton = null; foreach (var btn in FindVisualChildren <Button>(tvi)) { if (btn.Name == "AddRemoveBtn") { arButton = btn; } } if (regel.VervangInfo.Wijzigstand && regel.Status != StatusType.Leeg) { if (arButton != null) { arButton.IsEnabled = false; } } else { if (arButton != null) { arButton.IsEnabled = true; } } }
private void CancelButton_Click(object sender, RoutedEventArgs e) { var avr = ((AdvancedVervangRegel)DataContext); if (avr.SavedTegel == null) { var dArgs = new SubmitDeleteEventArgs(true); SubmitDelete(this, dArgs); } else { avr.GekozenTegel = avr.SavedTegel; avr.VervangInfo.GekozenMeters = avr.VervangInfo.SavedMeters; avr.VervangInfo.Tegels = avr.VervangInfo.SavedTegels; avr.Opmerking = avr.SavedOpmerking; ((AdvancedVervangRegel)DataContext).VervangInfo.Wijzigstand = false; var wArgs = new SubmitWijzigEventArgs(((AdvancedVervangRegel)DataContext).VervangInfo.Wijzigstand); SubmitWijzig(this, wArgs); } }