WPF Treeview HierarchycalDataTemplate拖放
我有一个wpf中的treeview,它是使用下面的xaml构建的。它是一个结构良好的数据源,我在拖放时遇到了很多麻烦。我试过几种方法,都没有用。有人能告诉我做这类事情的标准程序是什么吗WPF Treeview HierarchycalDataTemplate拖放,wpf,treeview,drag,hierarchicaldatatemplate,Wpf,Treeview,Drag,Hierarchicaldatatemplate,我有一个wpf中的treeview,它是使用下面的xaml构建的。它是一个结构良好的数据源,我在拖放时遇到了很多麻烦。我试过几种方法,都没有用。有人能告诉我做这类事情的标准程序是什么吗 <TreeView x:Name="_treeView" ItemsSource="{Binding}" Grid.Row="0" Grid.Column="0"> <TreeView.Resources> <Hierarc
<TreeView x:Name="_treeView" ItemsSource="{Binding}" Grid.Row="0" Grid.Column="0">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type Logic:Statement}"
ItemsSource="{Binding Path=PagedChildren}">
<TextBlock Text="{Binding StatementName}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type Logic:StatementPage}"
ItemsSource="{Binding Path=Children}">
<WrapPanel>
<TextBlock Text="Page: "/>
<TextBlock Text="{Binding PageIndex}"/>
</WrapPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type Logic:StatementFund}">
<Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="2" CornerRadius="25">
<WrapPanel Margin="30 0 30 0" Width="150" Height="150" >
<StackPanel>
<TextBlock Text="Fund"/>
<WrapPanel>
<TextBlock Text="Fund: "/>
<TextBlock Text="{Binding FundNumber}"/>
</WrapPanel>
<WrapPanel Margin="10 0 0 0">
<TextBlock Text="{Binding ColumnIndex}"/>
</WrapPanel>
</StackPanel>
</WrapPanel>
</Border>
</DataTemplate>
<DataTemplate DataType="{x:Type Logic:StatementPreviousCycle}">
<Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="2" CornerRadius="25">
<WrapPanel Margin="30 0 30 0" Width="150" Height="150" >
<StackPanel>
<TextBlock Text="Previous Cycle"/>
<WrapPanel>
<TextBlock Text="Fund: "/>
<TextBlock Text="{Binding FundNumber}"/>
</WrapPanel>
<WrapPanel Margin="10 0 0 0">
<TextBlock Text="{Binding ColumnIndex}"/>
</WrapPanel>
</StackPanel>
</WrapPanel>
</Border>
</DataTemplate>
</TreeView.Resources>
</TreeView>
我使用这方面的技术进行常规拖放
树视图可能会变得杂乱无章,如果您想知道您将在哪个节点上进行预览,然后将其用作拖动项,您最终可以在可视化树上行走。有一些代码可以做到这一点。另一种方法是将treeview和treeview子类化,然后您可以在每个树视图项上覆盖预览鼠标,并告诉您的派生父树视图,这可以将树视图项设置为选定项。问题在于树视图本身,如何在鼠标按钮上按下selectedNode(在选择节点之前)。此外,绑定会以正常的方式出错。您在wpftutorial.net上列出的网站真的救了我一命。=)