Silverlight TreeView无法填充

时间:2011-02-09 11:11:39

标签: vb.net silverlight treeview

我正在尝试在Silverlight中填充TreeView,但我遇到了一些困难 - 它总是显得空白。

我找到了一个很好的教程(here),如何做到这一点,我创建了一个新项目并使用C#复制出现的代码,并且它工作得很好。我现在尝试将它合并到我的项目中(使用VB),但它不起作用。我的VB代码如下:

XAML

<UserControl.Resources>
    <common:HierarchicalDataTemplate x:Key="myHierarchicalTemplate" ItemsSource="{Binding Items}" >
        <TextBlock Text="{Binding myString}" />
    </common:HierarchicalDataTemplate>
</UserControl.Resources>

<controls:TreeView Height="200" HorizontalAlignment="Left" Margin="280,464,0,0" Name="TreeView1" VerticalAlignment="Top" Width="120" ItemTemplate="{StaticResource myHierarchicalTemplate}" />

VB代码:

Public Class myItem

Public myString As String
Public Items As ObservableCollection(Of myItem)

Public Sub New(ByVal myString As String, ByVal ParamArray myItems() As myItem)
    Me.myString = myString

    Dim itemsObservableCollection = New ObservableCollection(Of myItem)

    For Each item As myItem In myItems
        itemsObservableCollection.Add(item)
    Next

    Me.Items = itemsObservableCollection

End Sub
End Class

并填充它:

Dim itemsSource As New ObservableCollection(Of myItem)

    itemsSource.Add(New myItem("Hello", New myItem("World"),
                                       New myItem("Foo")))
    itemsSource.Add(New myItem("Moo", New myItem("Boo", New myItem("Goo"))))




    TreeView1.ItemsSource = itemsSource

我错过了什么?

编辑:我已经尝试调试项目,“itemsSource”集合似乎正在生成,并且正在被分配给TreeView1.ItemsSource,但没有显示任何内容。它是显示装订问题吗?

1 个答案:

答案 0 :(得分:4)

要使用绑定,你必须公开属性 - 虽然我的VB.NET不是很好看,但是看起来Items是一个字段而不是myItem类中的属性,而myString也是如此。

干杯 -