這個有點複雜。我試圖創建一個具有treeview和一些其他控件的用戶控件,以創建對其他實現有用的可重用控件。通過屬性設置Treeview HierarchicalDataTemplate
我遇到的問題是我無法弄清楚如何將在控件外部定義的HierarchicalDataTemplate插入到控件內部的樹視圖中。
控制之外,這裏是我的WPF
<Grid>
<Grid.Resources>
<HierarchicalDataTemplate x:Key="HierarchicalDataTemplate" ItemsSource="{Binding Children}">
<TextBlock Text="{Binding Path=Name}"/>
</HierarchicalDataTemplate>
</Grid.Resources>
<masterTreeUserControl:MasterTreeUserControl
HierarchicalDataTemplate="{StaticResource HierarchicalDataTemplate}"
ItemsSource="{Binding Path=SelectiveListViewModel.Items, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Path=SelectiveListViewModel.SelectedItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
EnableAdd="False"
ItemType="{x:Type viewmodels:LocationItem}"
/>
</Grid>
的MasterTreeUserControl有HierarchicalDataTemplate的DependencyProperty
HierarchicalDataTemplateProperty = DependencyProperty.Register("HierarchicalDataTemplate",typeof(HierarchicalDataTemplate),typeof(MasterTreeUserControl));
private static readonly DependencyProperty HierarchicalDataTemplateProperty;
public HierarchicalDataTemplate HierarchicalDataTemplate
{
get
{
return (HierarchicalDataTemplate)GetValue(HierarchicalDataTemplateProperty);
}
set
{
SetValue(HierarchicalDataTemplateProperty, value);
}
}
到目前爲止控制裏面的樹視圖看起來是這樣的。
<TreeView Name="ItemListView"
Grid.Row="2"
Margin="0,5,0,0"
ItemsSource="{Binding Source={StaticResource ItemsCvs}}">
在樹形視圖的其他實現中,我通常會以類似於此的方式做HierarchicalDataTemplate。
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<TextBlock Text="Hello"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
但是,由於HierarchicalDataTemplate在一個依賴項屬性中,我需要以某種方式將它綁定到Treeview中。我已經看了一遍互聯網(並會繼續這樣做),但無法找到任何相關的東西。
如何注入包含HierarchicalDataTemplate的依賴項屬性到樹視圖中?
對它進行排序。謝謝。 –