【问题标题】:Multiple selection inside a TreeViewTreeView 中的多项选择
【发布时间】:2021-10-02 11:06:44
【问题描述】:

我想标记一些东西,然后用键盘上的“删除”按钮删除它们,这样我就不必一个一个地删除所有东西

  • 可以使用“Ctrl + Click”或“Ctrl + ArrowDown”(通常的 Windows 键)标记多个单元
  • 点击键盘上的“删除”按钮可以删除所有标记的单位

标记几个单元的部分是我做不到的。 删除部分应该不难。

此刻树看起来像这样:

<TreeView  Name="plantsTree" Background="{StaticResource PlantConfiguratorBackground}" VerticalAlignment="Stretch" ItemsSource="{Binding PlantTrees}" Grid.Column="0"
             KeyUp="plantsTree_KeyUp" Margin="0,0,5,0" SelectedItemChanged="plantsTree_SelectedItemChanged">
            <TreeView.Resources>
                <HierarchicalDataTemplate x:Key="dtBaseTree" ItemsSource="{Binding Path=SubItems, Converter={x:Static local:Converters.OrderByIdx}}"  >
                    <StackPanel Orientation="Horizontal">
                            <Image Width="18" Height="18" Source="{Binding Path=ConfigIcon}"/>
                            <TextBlock Text=" "/>
                            <local:TextBoxWithCommandBoundContextMenu /> //this is just a textbox
                    </StackPanel>
                </HierarchicalDataTemplate> 

                //there are 9 HierarchicalDataTemplates like this one above... 
                <HierarchicalDataTemplate>...</HierarchicalDataTemplate>
            </TreeView.Resources>

           <TreeView.ItemContainerStyle>
                <Style TargetType="TreeViewItem">
                    <Setter Property="IsExpanded" Value="False"/>
                    <EventSetter Event="RequestBringIntoView" Handler="TreeViewItem_RequestBringIntoView"/>
                    <EventSetter Event="PreviewMouseDown" Handler="SelectionChange"/>
                </Style>
            </TreeView.ItemContainerStyle>

基本上我希望能够使用 Ctrl + 单击来选择树视图中的许多元素。 这样可以吗。

ListView 可以通过。 但不确定TreeView。 如果不能,这是否可以以某种方式表示为 ListView。

【问题讨论】:

    标签: c# wpf xaml treeview


    【解决方案1】:

    回答我在这里找到的问题,源代码可在 github 上找到,也可以用作 nuget 包: https://unclassified.software/en/source/multiselecttreeview

    【讨论】:

      猜你喜欢
      • 2010-11-12
      • 1970-01-01
      • 2012-08-01
      • 2010-11-05
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 2011-11-26
      • 2016-07-04
      相关资源
      最近更新 更多