2010-04-07 81 views
3

我有一個第三方控制,除其他事項外進行一些數據的加載。我希望我的視圖模型跟蹤這個加載操作並相應地調整它自己的狀態。如何在視圖模型中使用第三方控件?

如果是對我,我會做的數據加載遠離看法,但事實並非如此。所以,我似乎處於視角模型依賴於我的觀點的情況下。我如何最好地處理這個問題?我覺得相當髒使視圖發佈事件的視圖模型,但我沒有看到任何其他合理的方式來獲取此信息到視圖模型。

類似的情況可能會突然出現與標準控件,太 - 想象一下,如果您的視圖模型依賴於從MediaElement的未來事件 - 你如何正確的模型呢?您是否將MediaElement放入視圖模型中?這聽起來不對。

如果發佈事件的視圖模型的確是最合理的方式,有沒有用於此的一些常見的模式?你怎麼做呢?

回答

0

通常,您不會允許您的ViewModel知道詳細信息甚至視圖控件的類型。對事件做出迴應是更清晰的方式。有許多庫包含將控制事件映射到ViewModel上的ICommands的行爲。

Caliburn是一個這樣的庫。您可以將控件事件映射到ViewModel上的方法。

+0

我使用相同的方法,只是從不同的庫。很乾淨。 – 2010-04-07 16:10:58

相關問題