示例#1
0
		public async Task<object> Execute( MetroWindow window, object args )
		{
			var dialog = new AddSeriesDialog();

			var tcs = new TaskCompletionSource<uint>();

			var vm = dialog.DataContext as AddSeriesDialogViewModel;
			Debug.Assert( vm != null, "vm != null" );
			vm.Reset();
			vm.CloseRequested += ( s, e ) =>
			{
				dialog.Close();

				tcs.TrySetResult( e.Result != true ? 0 : vm.SelectedSeries.Model.SeriesId );
			};

			await window.ShowChildWindowAsync( dialog );
			return await tcs.Task;
		}