微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Catel中ViewModel的集合

我有一个带有几个DataTemplates的View.每个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>

显然,View中有一个“主”viewmodel包含TabControl.

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

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

>我现在不应该在任何viewmodel和任何viewmodel中引用任何其他viewmodel
> Catel会自动将我的Views和viewmodels链接起来.

有什么建议?

解决方法

我建议搬到卡特尔.它确实解决了这个问题(这实际上是它首先编写的原因).如需一个好的起点,请查看大量文档:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐