PettingZoo/PettingZoo/UI/Subscribe/SubscribeWindow.xaml.cs

38 lines
1013 B
C#

using System.Windows;
namespace PettingZoo.UI.Subscribe
{
public class WindowSubscribeDialog : ISubscribeDialog
{
public SubscribeDialogParams? Show(SubscribeDialogParams? defaultParams = null)
{
var viewModel = new SubscribeViewModel(defaultParams ?? SubscribeDialogParams.Default);
var window = new SubscribeWindow(viewModel)
{
Owner = Application.Current.MainWindow
};
viewModel.OkClick += (_, _) =>
{
window.DialogResult = true;
};
return window.ShowDialog().GetValueOrDefault()
? viewModel.ToModel()
: null;
}
}
public partial class SubscribeWindow
{
public SubscribeWindow(SubscribeViewModel viewModel)
{
WindowStartupLocation = WindowStartupLocation.CenterOwner;
InitializeComponent();
DataContext = viewModel;
}
}
}