2010-11-07 28 views
3

我有我的第一個MVVM Light應用程序,我一直很好,並沒有在代碼背後。出於性能原因,我使用的圖表控件需要調用來關閉它的更新,然後在圖表系列更新後再次打開它。所以我需要在ViewModel的控件上調用一個方法。MVVM Light - 發送通知到代碼

現在我可以通過「更大的錘子」方法,通過定位器的MainStatic方法將對圖表控件的引用交給ViewModel,從而實現所有這一切。我發現自己以爲這不是這樣做的方式,我試圖用「MVVM方式」來做所有事情。任何MVVM Light大師都可以讓我看看嗎?我找到的所有東西都是人們從後面的代碼發送命令到ViewModel ...我需要去另一種方式...或者至少我認爲我做... ;-)

回答

2

「更新「開關應該已經通過可綁定屬性暴露出來,而不是需要函數調用。然後,只需通過綁定到View Model的屬性來打開和關閉它。因爲這顯然不是這種情況,也許你應該將圖表控件包裝在你自己的用戶控件或子類中(稍微難一些)。然後你可以公開你想要的任何屬性(包括「更新」屬性,其設置者調用更新方法)。

對於基本的用戶控件,我個人毫不猶豫地使用非MVVM方法(即代碼隱藏),因爲它們應該更像第三方控件而不是您的應用程序的一部分。現有的控件包裝或子分類只會導致更好的可重用組件庫。

+0

非常好的一點。謝謝! – John 2010-11-09 22:44:15