Определите свой собственный enum и предложите статический метод для отображения окна, которое возвращает ваш enum.
Код ниже делает то же самое, что является частью окна, которое позволяет пользователям просматривать свои изменения и принимать или отменять. Поскольку мне нужны только true и false, я использовал bool, однако было бы тривиально перейти на enum.
public static bool DisplayChanges(List<INormalizedMessage> LstMessages)
{
var retlist = LstMessages.Where(( INormalizedMessage NM ) => { return NM.Status != NormalizedMessageStatus.NoChange; });
ReviewChanges RC = new ReviewChanges();
RC.Messages = retlist.ToList();
RC.ShowDialog();
return RC.Result;
}
private void cmdCancle_Click( object sender, RoutedEventArgs e )
{
Result = false;
Hide();
}
private void cmdOK_Click( object sender, RoutedEventArgs e )
{
Result = true;
Hide();
}