2012-04-03 59 views
0

我有一個視圖掛鉤到ViewModel。我有一個由foo.Current暴露的單例類。我有一個屬性,該類將作爲調用foo.Current函數的按鈕單擊命令的結果而改變。我希望能夠將文本框的文本綁定到該值,並且該值更新文本框時會更新。我的ViewModel確實實現了INotifyPropertyChanged,並且在視圖模型上有更新控件的其他屬性。我可以用這個新值更新ViewModel的最佳方式是什麼? 我想我需要找出一種方法來讓Singleton類更新ViewModel。MVVM綁定與暴露財產

+0

發佈一些代碼片段,特別是foo.Current屬性,要綁定的文本和xaml綁定。 – 2012-04-03 05:55:17

+0

INotifyPropertyChanged的實現只是在更新ViewModel屬性時更新UI的正確方法。如何通過構造函數或通過Singleton foo.Current獲取ViewModel的實例並沒有什麼不同。 – Andris 2012-04-03 05:57:14

回答

2

有沒有在目前的情況下沒有「最好」的方式,選項如下:

  1. 定義您的視圖模型的屬性和視圖模型傳遞給你的單身。辛格爾頓應該改變它自己的相關財產。從單
  2. 移動性能視圖模型或包括在視圖模型本身的單身
  3. 從INotifyPropertyChanged的改變財產上的單身
  4. 繼承單和你的虛擬機連接到單的PropertyChanged事件創建一個事件。並監控你的財產名稱。
  5. ...

一個最簡單的將是第一個選項雖然有可能會在你的應用中的一些架構上的不一致應進行治療。

+0

謝謝!我在單例上實現了INotiftPropertyChanged,並在ViewModel上創建了一個事件處理程序。 – 2012-04-03 16:07:38

+0

不客氣:) – 2012-04-03 17:36:09

0

如果我理解得很好,我會使用Observer模式。