2010-04-07 82 views
3

我有一个第三方控制,除其他事项外进行一些数据的加载。我希望我的视图模型跟踪这个加载操作并相应地调整它自己的状态。如何在视图模型中使用第三方控件?

如果是对我,我会做的数据加载远离看法,但事实并非如此。所以,我似乎处于视角模型依赖于我的观点的情况下。我如何最好地处理这个问题?我觉得相当脏使视图发布事件的视图模型,但我没有看到任何其他合理的方式来获取此信息到视图模型。

类似的情况可能会突然出现与标准控件,太 - 想象一下,如果您的视图模型依赖于从MediaElement的未来事件 - 你如何正确的模型呢?您是否将MediaElement放入视图模型中?这听起来不对。

如果发布事件的视图模型的确是最合理的方式,有没有用于此的一些常见的模式?你怎么做呢?

回答

0

通常,您不会允许您的ViewModel知道详细信息甚至视图控件的类型。对事件做出回应是更清晰的方式。有许多库包含将控制事件映射到ViewModel上的ICommands的行为。

Caliburn是一个这样的库。您可以将控件事件映射到ViewModel上的方法。

+0

我使用相同的方法,只是从不同的库。很干净。 – 2010-04-07 16:10:58

相关问题