【发布时间】:2013-06-22 08:21:48
【问题描述】:
我有一个实现 ListCollectionView 的用户控件,当我单独运行它时它工作正常,但是当我把它放在另一个 userControl 中时,它是 Dynamic tabControl 创建 tab 动态,真正的问题是当我 create 2nd tab 分组发生 2 次strong> ,如果我 create 3rd tab 然后 分组发生 3 次,以此类推。我已经引用了链接http://www.codeproject.com/Articles/493538/Add-Remove-Tabs-Dynamically-in-WPF 用于创建动态标签,然后
Public obj As ThumbnailImages
Private Function AddTabItem() As TabItem
Dim count As Integer = _tabItems.Count
' create new tab item
Dim tab As New TabItem()
tab.Header = String.Format("tab{0}", count)
tab.Name = String.Format("tab{0}", count)
tab.HeaderTemplate = TryCast(tabDynamic.FindResource("TabHeader"), DataTemplate)
obj = New ThumbnailImages
' add controls to tab item,
tab.Content = obj
obj.SetDataContext(ImageCollection)
_tabItems.Insert(count - 1, tab)
Return tab
End Function
以下代码在我的缩略图用户控件中
Public Sub GroupAndSortImages()
myCollectionView = Nothing
myCollectionView = CType(CollectionViewSource.GetDefaultView(Me.DataContext), ListCollectionView)
myCollectionView.GroupDescriptions.Add(New PropertyGroupDescription("Name"))
myCollectionView.SortDescriptions.Add(New SortDescription("Name[0]", ListSortDirection.Ascending))
MyList.ItemsSource = myCollectionView
End Sub
Public Sub SetDataContext(ByVal datacontext As Object)
Me.DataContext = datacontext
GroupAndSortImages()
End Sub
在上面的代码中,我将在单击新选项卡时为我的缩略图用户控件创建 新对象,当它第一次正常工作时,如下所示
当我点击第二个选项卡时,它会分组两次,如下所示,此外,这个 第二个分组也发生在第一个选项卡中,即使我已经使用过
obj = New ThumbnailImages
在AddtabItem方法中
我调试了很长时间,但无法找出原因。提前致谢。
【问题讨论】:
标签: wpf user-controls tabs listcollectionview