Привязка данных вручную обновляется в WPF MVVM - PullRequest
3 голосов
/ 19 мая 2010

Моя ViewModel:

class ViewModel
{
public string FileName {get;set;}
}

и в моем View я связываю содержимое метки с FileName.

ViewModel.

сейчас Когда я делаю перетаскивание файла в свой вид, как я могу обновить свойство Content метки, чтобы FileName ViewMode также обновлялся через привязку?

Прямая установка свойства Content метки не будет работать, она просто очистит привязку.

1 Ответ

3 голосов
/ 21 мая 2010

3 быстрого выбора ... (Убедитесь, что класс реализует INotifyPropertyChanged, а FileName вызывает это событие.)

  1. Вы можете просто вытащить ВМ из DataContext представления и во время события перетаскивания установить свойство FileName ViewModel.

  2. Используйте AttachedBehavior, чтобы событие (перетаскивание) могло использоваться как команда (http://geekswithblogs.net/HouseOfBilz/archive/2009/08/27/adventures-in-mvvm-ndash-binding-commands-to-any-event.aspx)

  3. Используйте шаблон Messenger, например, Messenger MVVMLight, для отправки сообщения из View в ViewModel и обработки сообщения на виртуальной машине, как если бы вы выполняли командное действие.

...