Я пытаюсь заполнить TreeView в silverlight, но у меня возникают некоторые трудности - он всегда кажется пустым.
Я нашел хороший учебник ( здесь ) о том, как это сделать.Я создал новый проект и скопировал код, как он выглядит, используя 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 нормально, но ничего не отображается.Это проблема привязки дисплея?