Catel中ViewModel的集合

时间:2014-08-13 12:26:26

标签: c# wpf mvvm catel

我有几个DataTemplate的视图。每个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>

显然有一个主要的&#39;包含TabControl的View的ViewModel。

这非常有效,为我在集合中的每个项目创建TabItem,并设置每个页面的内容。

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

  1. 我现在不应该在任何ViewModel和

  2. 中引用任何其他ViewModel
  3. Catel会自动将我的视图和ViewModel链接起来。

  4. 有什么建议吗?

1 个答案:

答案 0 :(得分: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