2
|
herbrandson · 技术社区 · 16 年前 |
![]() |
1
4
由于您使用的是ViewModel,它位于实际模型和视图之间,因此我想知道直接在其中实现IValueConverter逻辑是否更容易。有点像:
我认为ViewModel对象的主要目的是限制从原始模型获取所需数据所需的“技巧”(如IValueConverters)的数量。既然你有一个,你不妨利用它。
... 当然,现在我重读了你的帖子,我看到了更多的内容。您将获得“根”集合中每个项目的子项。 在ViewModel本身中将IValueConverter作为静态实例实现如何?
现在你应该能够说:
编辑2
我能想到的唯一另一种方法是在ViewModel中直接实现IValueConverter,它可以让您重用一个静态资源,而不必声明两个静态资源。如果您需要进行多种类型的转换,这是不好的,但是如果您的ViewModel聚焦非常窄,那么它可以完成这项工作。因此:
现在您可以执行以下操作:
|
![]() |
2
0
对不起,伙计们,我有点搞不懂你们想在这里做什么。。。不管怎样,从标题上看,似乎您希望将值转换器中的属性转换为值转换器中的属性。首先看一看我写的一篇文章,其中详细解释了如何做到这一点: http://nick-howard.blogspot.com/2011/06/silverlight-4-value-converter.html 因此,您要做的是在LoadChildrenValueConverter中创建一个ObvervableCollection依赖项属性,为方便起见,我们将其称为Children。
这样,您只需要从视图模型中调用一次web服务,然后就可以使用值转换器共享视图模型中的ObvervableCollection。 希望有帮助。 |
![]() |
Bigeyes · 如何在MVVM模式中添加行? 8 年前 |
![]() |
User9898 · 悬停回到原始颜色时为什么选择 9 年前 |
![]() |
Huma Ali · WCF已完成事件中的异常处理 9 年前 |
![]() |
Nerd in Training · 文件副本发布错误 10 年前 |