我正在尝试创建一个用户控件,它是一个组合框,在打开时会显示层次结构数据的树视图。
我创建了用户控件并将 Popup 中的部分模板替换为:
<ScrollViewer x:Name="ScrollViewer" BorderThickness="0" Padding="1">
<sdk:TreeView x:Name="Tree">
</sdk:TreeView>
</ScrollViewer>
但是,我不确定如何启用绑定。树视图需要绑定到与组合框不同的数据上下文。我尝试在用户控件上实现 DependencyProperty,这将允许我设置数据上下文,但我绝对不会以正确的方式进行。在这一点上,我得到的只是一个空的树视图。
对此的任何帮助将不胜感激。
PS 另外一个警告是,我需要像这样对树视图进行模板化:
<sdk:TreeView x:Name="Tree">
<sdk:TreeView.ItemTemplate>
<sdk:HierarchicalDataTemplate ItemsSource="{Binding ChildUnits}">
<StackPanel Orientation="Vertical" Width="200">
<TextBlock x:Name="name" TextWrapping="Wrap" Text="{Binding Name}" FontWeight="Bold" />
<TextBlock x:Name="type" Text="{Binding Id}" FontStyle="Italic" FontSize="10" Foreground="Gray" />
</StackPanel>
</sdk:HierarchicalDataTemplate>
</sdk:TreeView.ItemTemplate>
</sdk:TreeView>