我有一个ObservableCollection的POCO(普通旧CLR对象),我想用标签式成语表示。优先使用MVVM模式,有没有办法将TabItems集合绑定到我的POCO集合的计数?
所以,在这种情况下,如果我的收藏中有3个项目,我想看3个TabItems。每个TabItem将在同一位置包含相同的控件,每个控件都绑定到集合中相应对象的属性。
我只是在寻找可能使用的方法或示例链接的概述。如果您需要更多信息,请随时提出。
感谢。
答案 0 :(得分:2)
我可能会在其中创建一个带有POCO项目的ObservableColletion。然后,您可以将ObservableCollection绑定到任何Silverlight项呈现控件。您必须修改默认渲染模板以创建选项卡...但是使用该方法,您的选项卡将始终与集合中的项目保持同步,而无需在代码隐藏文件中放置任何代码。
<强>更新强>
这是Silverlight论坛的链接,其中有人使用带有示例XAML代码的ItemsControl构建了一个TabControl:
http://silverlight.net/forums/t/12271.aspx
...只需向下滚动一下即可查看样本。
答案 1 :(得分:0)
执行此操作的一种方法是使用值转换器(IValueConverter)返回包含在TabItem中的POCO。我发布了一个示例here作为相关问题的一部分。还有示例xaml绑定和注入ViewModel作为值转换器的参数。
/ JHD