中。每景有一个模型.看我的理解是一个 窗口,网页或用户控件 它可以附加的模型从中图获取其数据。

但一个 数据模板 还可以使模型的数据。

所以我了解了一个数据模板是另一个"看法",但似乎有 差异, 如窗户、网页,体以及控可以界定他们自己。dll,一类是结与DataContect的其他通过附加的模板,以便Windows,网页,UserControls能可以连接到这个例子动态的一个 ServiceLocator/容器, 等等。

怎么DataTemplates不同于Windows/Pages/UserControls时候呈现一模型的数据的用户界面?和是否还有其他类型的"意见"其他比这四个?

有帮助吗?

解决方案

我使用它的方式,DataTemplate实际上是将View链接到ViewModel的方式。通常我在MVVM中的DataTemplates看起来像这样:

<DataTemplate DataType="{x:Type vm:FooViewModel}">
    <v:FooView />
</DataTemplate>

其他提示

在过渡到MVVM时,对我来说最有意义的是:

UserControls:将用于执行整个过程的组视图和控件组合在一起。我使用usercontrol作为我创建的滑出式抽屉,允许用户翻阅不同的部件分类(其中每个主要部件类别通过它自己的选择过程/向导来路由用户)。另请参阅图表控件。

视图:基本上是一个网格,它将相关数据和控件分组,以最小的级别填充所需的数据,以便可以重复使用。

DataTemplates:关于“项目”的群组事实就像在列表框或GridView中一样。我认为这只是一个文本代表一个对象,你试图在列表中获取信息。因此,控件模板将包装数据模板块以控制该数据模板包装项集合的显示行为。

这就是我理解它的方式,但边界非常模糊。我喜欢Andrew Troelson的Apress书 Pro Expression Blend 4 。不过,他并没有真正提供任何数据密集的例子。

我不会推荐使用一个数据模板将看到的模型.我目前具有性能的问题使用这种方法为查刷新,每次看到焦点。正如你可以看到 在这里,在这里,

很可惜我没有找到一个更好的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top