2010-05-19 172 views
3

我的視圖模型手動更新:數據綁定在WPF MVVM

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

,並在我的View我綁定一個標籤的內容視圖模型的FileName

now當我將文件拖放到我的視圖時,如何更新標籤的Content屬性,以便ViewMode的FileName也可以通過綁定進行更新?

直接設置標籤的Content屬性將不起作用,它只是簡單地清除綁定。

回答

3

3個快速選擇...(請確保該類實現INotifyPropertyChanged和文件名是提出這個事件。)

  1. 你可以簡單地拉出來VM視圖的DataContext的和中拖放-Drop事件設置ViewModel的FileName屬性。

  2. 使用AttachedBehavior允許事件(拖動和刪除)中使用這樣的命令(http://geekswithblogs.net/HouseOfBilz/archive/2009/08/27/adventures-in-mvvm-ndash-binding-commands-to-any-event.aspx

  3. 使用Messenger的圖案,像MVVMLight的使者,從View將消息發送到ViewModel並像處理Command Action一樣處理虛擬機上的消息。