2010-05-20 65 views
0

在我的ViewModel類我有一個屬性:如何從WPF中的代碼觸發綁定源更新?

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

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

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

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

回答

0

如果你有這樣做的代碼隱藏,你可以做這樣的事情:

ViewModel vm = (ViewModel)this.DataContext; 
vm.FileName = path; 

(順便說一句,你的ViewModel類需要實現INotifyPropertyChanged

+0

然後在視圖必須知道關於ViewModel,這是否是反模式? – Benny 2010-05-20 15:15:21

+0

我沒有實現INotifyPropertyChanged – Benny 2010-05-20 15:21:24

+0

嗯,視圖總是知道ViewModel,因爲它有一個對它的引用(DataContext)並且綁定了它的屬性......如果ViewModel知道視圖,那麼*你會破壞模式 – 2010-05-20 15:26:39