ノード(TreeViewItems)を手動で作成しています。つまり、コードビハインドです。これを行うのは、が展開されるときにサブアイテムをオンデマンドでロードし、ダミーノードを追加する必要があるためです。それが私が手動でアイテムを追加している理由です。
ここで重要なのは、TreeViewItemを作成すると、DataTemplateが表示されず、デフォルトが表示されないことです。出力ウィンドウには何も表示されません。
DataTemplate dt1 = this.Resources["exerciseSetTemplate"] as DataTemplate;
foreach (var qs in qss)
{
TreeViewItem tvi = new TreeViewItem();
tvi.Header = qs.SetName;
tvi.Tag = qs;
tvi.ItemTemplate = dt1;
tvi.Items.Add(yourDummyNode);
treeView1.Items.Add(tvi);
}
これが私のXAMLコードです:
<UserControl.Resources>
<DataTemplate x:Key="questionSetTemplate">
<StackPanel Orientation="Horizontal" Height="20" Margin="2,0,2,0">
<Image Width="16" Height="16" Source="{StaticResource FolderImage}" Margin="0,0,5,0" />
<TextBlock Text="{Binding SetName}" />
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<Grid>
<TreeView x:Name="treeView1" TreeViewItem.Expanded="treeView1_Expanded_1"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
</TreeView>
</Grid>
DataTemplateを表示するにはどうすればよいですか?