private async void btnEdit_Click(object sender, RoutedEventArgs e) { Contractor contractor = (Contractor)this.popUp.DataContext; var clone = ContractorsContext.Current.CopyForEdit(contractor); PropertyDialog dialog = ContentDialogFactory.Create(clone, new Grid[] { this.OverlayPoup }); this.escPopUpClosingSuspended = true; if (await dialog.ShowAsync() == ContentDialogResult.Primary) { var pointer = Window.Current.CoreWindow.PointerCursor; Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Wait, 1); await ContractorsContext.Current.Update(contractor, clone); Window.Current.CoreWindow.PointerCursor = pointer; } this.escPopUpClosingSuspended = false; this.popUp.UpdateLayout(); this.MovePopupRootToCenter(); this.btnBack.Focus(FocusState.Programmatic); }
public static PropertyDialog Create(Contractor contractor, Grid[] overlayGrids) { PropertyDialog dialog = new PropertyDialog(contractor); var trigger = BindTrigger(dialog, overlayGrids); trigger.SetBounds(); return(dialog); }
private static ContentDialogFactory BindTrigger(PropertyDialog dialog, Grid[] overlayGrids) { ContentDialogFactory trigger = new ContentDialogFactory(dialog); Window.Current.CoreWindow.SizeChanged += trigger.CoreWindow_SizeChanged; dialog.Closed += trigger.Dialog_Closed; trigger.overlays = overlayGrids; foreach (var overlay in overlayGrids) { overlay.Visibility = Visibility.Visible; } return(trigger); }
private async void AddContractor() { Contractor contractor = ContractorsContext.Current.CreateForEdit(); PropertyDialog dialog = ContentDialogFactory.Create(contractor, new Grid[] { this.Overlay }); if (await dialog.ShowAsync() == ContentDialogResult.Primary) { var pointer = Window.Current.CoreWindow.PointerCursor; Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Wait, 1); await ContractorsContext.Current.Add(contractor); ContractorsContext.Current.Collapse(contractor); Window.Current.CoreWindow.PointerCursor = pointer; } }
private ContentDialogFactory(PropertyDialog dialog) { this.contentDialog = dialog; }