2010-09-17 114 views
2

我想進入MVVM,遠離Silverlight中的代碼背後的方法,我想知道圍繞如何調用視圖邏輯的最佳實踐。關於Silverlight中查看邏輯的MVVM最佳實踐

我有一個非常基本的頁面,我已經綁定了一個列表框到一個域對象的集合,這都是使用MVVM,所以當我從服務接收我的數據時,我想發起一個動畫並查看更改屏幕上。

哪裏/如何做到這一點的最佳方式? Silverlight(版本3,順便說一句)沒有觸發器嗎?我看過人們似乎在使用它們的博客,但我認爲他們必須自己動手?不知道...無論如何,這裏的任何想法的想法是不勝感激

回答

1

首先,我認爲後面的代碼就好,只要它只適用於視圖,即它只涉及用戶界面的關注。當更簡單的出路是正確的時候,不要爲沒有代碼隱藏而掙扎。其次,當然有時候你需要在你的視圖和視圖模型之間進行某種斷開的通信(例如,從你的視圖中獲取多個選定的項目到你的視圖模型中)。爲了達到這些目的,您可以使用像MVVMLight的Messenger這樣的聚合器,它既簡單又很好地表達了概念。您可以從視圖模型發送消息並讓視圖監聽它;您也可以從視圖中發送消息(發生某些事件時)並進行廣播。

MVVMLight還包含一些實用程序類,它可以很容易地將事件直接綁定到視圖模型中的命令,所以在我認爲的大多數情況下這是更容易的選項。

+0

我沒有代碼隱藏問題:)我只是想知道人們如何處理這種情況,代碼隱藏或沒有代碼隱藏。我知道,創建一個可觀察的實現類型很容易,VM可以通知「監聽者」(即視圖)更改,這很簡單。不過,我會看看mvvm light工具包 – Mark 2010-09-17 11:21:57