本文整理汇总了C#中System.Windows.Controls.ChildWindow.Close方法的典型用法代码示例。如果您正苦于以下问题:C# ChildWindow.Close方法的具体用法?C# ChildWindow.Close怎么用?C# ChildWindow.Close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Controls.ChildWindow
的用法示例。
在下文中一共展示了ChildWindow.Close方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OpenWindow
public void OpenWindow(ViewModelBase viewModel, Action onClosed)
{
var childWindow = new ChildWindow
{
Content = GetViewForViewModel(viewModel)
};
var canClose = viewModel as ICanClose;
if (canClose != null)
{
canClose.RequestClose += (s,e) => childWindow.Close();
}
childWindow.Closed += (s,e) => onClosed();
childWindow.Show();
}
示例2: Print
private void Print(ChildWindow window)
{
var doc = new PrintDocument();
doc.PrintPage += (s, ea) =>
{
ea.PageVisual = new Image { Source = new BitmapImage(Uri) };
ea.HasMorePages = false;
};
doc.EndPrint += (sender, args) => window.Close();
var settings = new PrinterFallbackSettings { ForceVector = false };
doc.Print(Title, settings);
}
示例3: Save
private async void Save(ChildWindow window)
{
var user = new User
{
UserName = Title,
Roles = new[] { Role },
};
IsBusy = true;
var task = await repository.UpdateUser(user);
IsBusy = false;
if (task.Succeed)
{
Confirmed = true;
}
window.Close();
}
示例4: OnConfigCommandMessage
private void OnConfigCommandMessage(ConfigCommandMessage message)
{
var window = new ChildWindow();
var contentControl = new NewEditServer();
contentControl.DataContext = new EditServerDetailViewModel(message.Server);
window.Content = contentControl;
window.Closed += (s, e) =>
{
Messenger.Default.Unregister<CloseEditServerMessage>(this);
Application.Current.RootVisual.SetValue(Control.IsEnabledProperty, true);
};
Messenger.Default.Register<CloseEditServerMessage>(this, (m) =>
{
window.DialogResult = false;
window.Close();
});
window.Show();
}
示例5: Save
private async void Save(ChildWindow window)
{
ValidateName();
ValidateSize();
ValidateK();
ValidatePriceOpt();
ValidateCount();
ValidateNd();
ValidateLength();
ValidatePriceIcome();
if (HasErrors) return;
var changed = PropsToProduct();
IsBusy = true;
var task = await repository.SaveAsync(changed);
IsBusy = false;
if (task.Succeed)
{
var args = new ProductUpdatedEventArgs(task.Result, false);
eventAggregator.GetEvent<ProductUpdatedEvent>().Publish(args);
Confirmed = true;
window.Close();
}
}
示例6: OnShutdownAttempted
void OnShutdownAttempted(IGuardClose guard, ChildWindow view, CancelEventArgs e)
{
if (actuallyClosing)
{
actuallyClosing = false;
return;
}
bool runningAsync = false, shouldEnd = false;
guard.CanClose(canClose =>{
if(runningAsync && canClose)
{
actuallyClosing = true;
view.Close();
}
else e.Cancel = !canClose;
shouldEnd = true;
});
if (shouldEnd)
return;
runningAsync = e.Cancel = true;
}
示例7: PopupContent
public static ChildWindow PopupContent(string title, object content, IEnumerable<Button> buttons)
{
if (CurrentPopup != null)
return null;
var msgBox = new ChildWindow();
CurrentPopup = msgBox;
msgBox.Style = Application.Current.Resources["PopupMessageWindow"] as Style;
msgBox.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0xBA, 0xD2, 0xEC));
msgBox.Title = title;
msgBox.MaxWidth = Application.Current.Host.Content.ActualWidth * 0.5;
StackPanel panel = new StackPanel();
panel.Children.Add(new ContentPresenter() { Content = content });
StackPanel buttonPanel = new StackPanel() { Margin = new Thickness(20), Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Center };
if (buttons != null)
{
foreach (Button b in buttons)
{
b.Click += (s, e) =>
{
msgBox.Close();
};
buttonPanel.Children.Add(b);
}
}
else
{
var closeButton = new Button { Content = Labels.ButtonClose, HorizontalAlignment = HorizontalAlignment.Center, };
closeButton.Click += (s, e) =>
{
msgBox.Close();
};
buttonPanel.Children.Add(closeButton);
}
panel.Children.Add(buttonPanel);
msgBox.Content = panel;
msgBox.IsTabStop = true;
msgBox.Show();
msgBox.Focus();
PopupManager.CloseActivePopup();
return msgBox;
}
示例8: PopupMessage
public static ChildWindow PopupMessage(string title, string message, string closeButtonLabel, bool closeWindow)
{
if (CurrentPopup != null)
return null;
var msgBox = new ChildWindow();
CurrentPopup = msgBox;
msgBox.Style = Application.Current.Resources["PopupMessageWindow"] as Style;
msgBox.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0xBA, 0xD2, 0xEC));
msgBox.Title = title;
msgBox.MaxWidth = Application.Current.Host.Content.ActualWidth * 0.5;
StackPanel content = new StackPanel();
content.Children.Add(new TextBlock() { Text = message, Margin = new Thickness(20), Foreground = new SolidColorBrush(Colors.White), FontSize = 14, HorizontalAlignment=HorizontalAlignment.Center });
Button closeButton = new Button { Content = closeButtonLabel, FontSize = 14, HorizontalAlignment = HorizontalAlignment.Center, Margin = new Thickness(20) };
closeButton.Click += (s, o) =>
{
msgBox.Close();
if (closeWindow)
{
BrowserWindow.Close();
}
};
content.Children.Add(closeButton);
msgBox.Content = content;
msgBox.IsTabStop = true;
msgBox.Show();
msgBox.Focus();
_currentWindow = msgBox;
PopupManager.CloseActivePopup();
return msgBox;
}
示例9: Save
private async void Save(ChildWindow window)
{
Error = null;
ValidateName();
ValidatePassword();
if (HasErrors) return;
var user = new User
{
UserName = Name,
Roles = new [] { Role },
Password = Password,
};
IsBusy = true;
var task = await repository.CreateUser(user);
IsBusy = false;
if (task.Succeed)
{
Confirmed = true;
window.Close();
}
else
{
Error = task.ErrorMessage;
}
}
示例10: OnConfigCommandMessage
private void OnConfigCommandMessage(ConfigCommandMessage message)
{
var window = new ChildWindow();
var contentControl = new NewEditServer();
contentControl.DataContext = new EditServerDetailViewModel(message.Server);
window.Content = contentControl;
window.SizeToContent = SizeToContent.WidthAndHeight;
window.Topmost = true;
window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
window.ResizeMode = ResizeMode.NoResize;
window.Title = "Edit Server";
Messenger.Default.Register<CloseEditServerMessage>(this, (m) =>
{
window.DialogResult = false;
window.Close();
});
window.ShowDialog();
Messenger.Default.Unregister<CloseEditServerMessage>(this);
}
示例11: OnShutdownAttempted
/// <summary>
/// Called when shutdown attempted.
/// </summary>
/// <param name="rootModel">The root model.</param>
/// <param name="view">The view.</param>
/// <param name="handleShutdownModel">The handler for the shutdown model.</param>
/// <param name="e">The <see cref="System.ComponentModel.CancelEventArgs"/> instance containing the event data.</param>
protected virtual void OnShutdownAttempted(IPresenter rootModel, ChildWindow view, Action<ISubordinate, Action> handleShutdownModel, CancelEventArgs e)
{
if (_actuallyClosing || rootModel.CanShutdown())
{
_actuallyClosing = false;
return;
}
bool runningAsync = false;
var custom = rootModel as ISupportCustomShutdown;
if (custom != null && handleShutdownModel != null)
{
var shutdownModel = custom.CreateShutdownModel();
var shouldEnd = false;
handleShutdownModel(
shutdownModel,
() =>
{
var canShutdown = custom.CanShutdown(shutdownModel);
if (runningAsync && canShutdown)
{
_actuallyClosing = true;
view.Close();
}
else e.Cancel = !canShutdown;
shouldEnd = true;
});
if (shouldEnd)
return;
}
runningAsync = e.Cancel = true;
}