2010-06-21 24 views
2

我有一個視圖,允許用戶選擇一些數據:例如一些日期,並執行需要這些數據的命令。在MVVM體系結構中應該在哪裏以及如何管理選定的項目?

所以在我的命令,我應該有選定日期的引用,但什麼是讓這個日期去視圖模型一側的命令生活的最佳做法:

  • 添加SelectedDate依賴屬性在ViewModel中綁定我的視圖,然後在我的命令中通過「@ this.SelectedDate」引用它(帶@這是對當前ViewModel的引用),讓視圖通過「參數」命令的「Execute」方法,並用「DateTime selectedDate =(DateTime)」參數引用日期;「,
  • a呃其他解決辦法...

感謝提前。

回答

3

絕對會讓SelectedDate成爲視圖模型的依賴屬性。

我也讓命令從視圖模型中獲取SelectedDate。這個觀點沒有理由對此有所瞭解。

+0

感謝您的貢獻。 這似乎是DP解決方案是最好的。 – Pragmateek 2010-06-22 07:49:45

1

對於第一部分,是的,我認爲SelectedDate應該是ViewModel的(INotify)屬性。

對於您的Command應該獲取這些信息的位置我沒有強烈的意見,我認爲該屬性是可以的。

+0

感謝您的輸入。 對我來說,DP方法的主要優點是簡單:視圖只是填充DP並且命令可以直接訪問其數據。 第二種方法是視圖必須「序列化」數據以檢查命令狀態並執行命令,命令必須「反序列化」其側面的數據。 – Pragmateek 2010-06-21 15:42:05

1

WPF Application Framework (WAF)BookLibrary示例應用程序顯示的方式與MVVM來處理所選擇的項目:該視圖模型具有綁定到視圖中成爲「SelectedBook」屬性。

+0

感謝這個有趣的輸入,證實了上述斷言。 – Pragmateek 2010-06-27 12:18:59

相關問題