4

我有几个DataTemplates 的视图。每个DataTemplate都有一个 View 和 ViewModel ,如下所示:

<DataTemplate DataType="{x:Type viewModels:exampleViewModel}">
    <AdornerDecorator>
        <ScrollViewer>
            <views:exampleView />
        </ScrollViewer>
    </AdornerDecorator>
</DataTemplate>

然后我有一个TabControl绑定到一个DataContext.

在 DataContext 中,有一个 Collection,其中包含 DataTemplates 引用的所有不同 viewModel 的列表:

<TabControl
    DataContext="{Binding}"
    ItemsSource="{Binding Collection, Mode=OneWay}">
    <TabControl.ItemTemplate>
        <DataTemplate>
            <TextBlock
                Text="{Binding}" />
        </DataTemplate>
    </TabControl.ItemTemplate>
</TabControl>

显然,包含 TabControl 的视图有一个“主”视图模型。

这很好用,TabItem为我为 Collection 中的每个项目创建 s 并设置每个页面的内容。

我现在想把它移到Catel,但不知道从哪里开始,因为(如果我错了,请纠正我):

  1. 我现在不应该在任何 ViewModel 中引用任何其他 ViewModel 并且

  2. Catel 会自动为我链接我的视图和视图模型。

有什么建议么?

4

1 回答 1

1

我建议搬到Catel。它确实解决了这个问题(这实际上是它首先被编写的原因)。作为一个好的起点,请查看大量文档:

https://catelproject.atlassian.net/wiki/display/CTL/Catel+documentation+Home

一个很好的阅读是 WPF 部分的入门:

https://catelproject.atlassian.net/wiki/display/CTL/Getting+started+with+WPF

另请查看示例存储库:

https://github.com/Catel/Catel.Examples

于 2014-08-13T13:57:54.870 回答