構建我的第一個SL MVVM應用程序(Silverlight4 RC),並有一些我不明白的問題。Silverlight MVVM綁定似乎不工作
有一個WPF背景我不知道是怎麼回事:
視圖模型有幾個特性,其中一個被稱爲SelectedRecord。這是一個只得到財產的定義是這樣的:
public Culture SelectedRecord {
get { return culturesView.View.CurrentItem as Culture; } }
正如你可以看到它是得到一個CollectionViewSource(稱爲culturesView)的當前值。所以,如果我選擇一種文化,SelectedRecord(直接從CollectionViewSource中獲取值)如預期的那樣。 (實際上有一個數據網格控件綁定到CollectionViewSource,因此可以更改所選項目)
好的。現在到視圖。有幾個視圖可以訪問這個ViewModel,特別是有一個顯示前面提到的屬性SelectedRecord的值(我們稱之爲EditView)。爲了顯示這個EditView,有一個按鈕(它的Command屬性綁定到ViewModel中的一個ICommand),它按預期的方式運行(第一次)。
這意味着:
第一嘗試:我選擇一個記錄中,切換到EditView中,結果:選定記錄值顯示(如預期!!)。
第二次嘗試:切換回數據網格,選擇另一條記錄,切換到EditView,結果:之前顯示的記錄的值再次顯示!爲什麼??
首先,我認爲SelectedRecord沒有設置正確的值,但我錯了:它有正確的值!所以它應該顯示!?
我在想什麼?在WPF中這將工作!
在此先感謝
至少有4種不同的框架可以幫助提供MVVM模式,您使用哪一種? – AnthonyWJones 2010-03-21 09:18:28
我沒有使用任何預製的。每當需求出現時,我都沒有遇到過,我正在閱讀博客,以瞭解如何操作! – 2010-03-21 10:10:02