2016-07-22 2 views
0

Интерактивность - лучший способ показать новое окно? Если да, то как я могу сбросить/перезапустить ViewModel моего UserControl? Потому что я вижу, что он повторно использует всплывающее окно.Может ли интерактивная функция возврата всплывающего окна каждый раз срабатывать?

+0

Можете ли вы дать нам представление о том, что вы делаете в этом конкретном взаимодействии? Это спрашивает конечного пользователя о простом да/нет, или вы разрешаете им редактировать данные, его пользовательский интерфейс поиска/поиска или что-то еще? –

+0

Я пытаюсь очистить 2 списка, так что в следующий раз, когда это окно покажет, эти поля чисты. – kvuong

ответ

1

В ViewModel для вас запрос на взаимодействие должно быть свойство с именем «Уведомление». Это устанавливается каждый раз при вызове запроса. Добавьте некоторую логику, чтобы очистить список. Смотрите ниже:

public INotification Notification 
{ 
    get 
    { 
     return notification; 
    } 
    set 
    { 
     if (value is ItemSelectionNotification) 
     { 
      notification = value as ItemSelectionNotification; 
      OnPropertyChanged(() => Notification); 
      //*** Add ListBox clearing code here!! 
      // Maybe a call to a method -> ClearListBoxes(); 
     } 
    } 
} 

Это то, что мой класс ItemSelectionNotification выглядит как в случае, если вам это нужно.

public class ItemSelectionNotification : Confirmation 
{ 
    public ItemSelectionNotification() { } 
    public ItemSelectionNotification(object payload) 
    { 
     Payload = payload; 
    } 
    public object SelectedItem { get; set; } 
    public object Payload { get; } = null; 
}