public void DialogHost_OnDialogClosing(object sender, DialogClosingEventArgs eventArgs) { Console.WriteLine("SAMPLE 1: Closing dialog with parameter: " + (eventArgs.Parameter ?? "")); //you can cancel the dialog close: //eventArgs.Cancel(); if (!Equals(eventArgs.Parameter, true)) return; if (AllSet) { var temp = new PurchaseAndSalesViewModel(decimal.Parse(this.MySt.Text)) { EntryDate = (DateTime) this.MyEntryDate.SelectedDate, Receipt = this.MyReceipt.Text, REDate = (DateTime) this.MyREDate.SelectedDate, Text = this.MyText.Text, Value = decimal.Parse(this.MyValue.Text) }; Output = new GroupedPurchaseAndSalesViewModel(this.MyType.Text == "Sale" ? EntryType.Sale : EntryType.Purchase) { GroupName = this.MyGroupName.Text, PurchaseAndSales = new ObservableCollection<PurchaseAndSalesViewModel>() { temp } }; } }
private void SaveBtn_OnClick(object sender, RoutedEventArgs e) { var items = new GroupedPurchaseAndSalesViewModel[this.GroupedItems.Items.Count]; this.GroupedItems.Items.OfType<GroupedSaleOrPurchase>().Select(x => x.Data).ToArray().CopyTo(items, 0); MainWindow.StorageService.UpdateGroupedPurchaseAndSales(new List<GroupedPurchaseAndSalesViewModel>(items)); }