如何在 WPF 中创建可编辑的树列表视图?

Posted

技术标签:

【中文标题】如何在 WPF 中创建可编辑的树列表视图?【英文标题】:How to create an editable treelistview in WPF? 【发布时间】:2013-04-16 16:32:11 【问题描述】:

我需要为我的项目创建一个可编辑的TreeListView。 但据我所知,WPF 没有提供任何类型的树列表视图,而且我在网上找到的那些信息也不是很丰富。我想使用blend 创建一些东西,然后将其应用到我的WPF 项目中。

有人对此有任何想法吗?

谢谢。

【问题讨论】:

是否可编辑? Microsoft.com 上的那个呢? msdn.microsoft.com/en-us/library/vstudio/ms771523(v=vs.90).aspx @NikhilAgrawal 不久前我已经看到了该链接,但它并没有提供太多帮助。我需要使用 blend 对其进行自定义,但我无法使用此工具进行自定义。你知不知道怎么?谢谢。 一切 在 WPF 中都是可编辑的。您只需提供足够的DataTemplate。发布您需要的屏幕截图,我可以告诉您如何操作。 @HighCore 我同意你的观点,但我认为 OP 更关心树列表本身。我自己也有这个问题。 Ximbalimba 你已经有一些混合项目了吗?这就是你需要它的原因? @eestein 是的,我愿意。我已经在混合中做到了。 【参考方案1】:

我用过这样的东西,也许这会帮助你找到一个北方

<dxg:GridControl Name="GridName" Grid.Row="0">

<dxg:GridControl.Columns>

    <dxg:GridColumn FieldName="ID" Header="ID" 
                    AllowEditing="false" 
                    AllowMoving="False" AllowGrouping="False" AllowSorting="False"
                    >
    </dxg:GridColumn>

    <dxg:GridColumn Name="Name" FieldName="Name" Header="Name" AllowEditing="true"
                    AllowMoving="False" AllowGrouping="False" AllowSorting="False" >
    </dxg:GridColumn>

</dxg:GridControl.Columns>

<dxg:GridControl.View>
    <dxg:TreeListView Name="TreePeople" AutoWidth="True"
        KeyFieldName="Id" ParentFieldName="ParentId"
        TreeDerivationMode="Selfreference"
        MultiSelectMode="Row" EditorShowMode="MouseUpFocused" ShowingEditor="TreePeople_ShowingEditor" CellValueChanging="TreePeople_CellValueChanging" >
        <dxg:TreeListView.RowCellMenuCustomizations>
            <dxb:BarButtonItem BarItemName="btnAddRow"  />
            <dxb:BarButtonItem BarItemName="btnRemoveRow"  />
        </dxg:TreeListView.RowCellMenuCustomizations>
    </dxg:TreeListView>
</dxg:GridControl.View>

<i:Interaction.Behaviors>
    <dxg:TreeListDragDropManager AllowDrag="True" AllowDrop="True" AllowAutoExpand="True" Drop="TreeListDragDropManager_Drop" Dropped="TreeListDragDropManager_Dropped" />
</i:Interaction.Behaviors>

你需要先启动一个列表

public void constructor()

    try
    
        IPeople cli = ProxyFactory.GetPeopleSvc();
        List<People> list = cli.GetClassification();

        if (list.count > 0)
        
            ObservableCollection<People> tmp = new ObservableCollection<People>(list);
            GridName.ItemsSource = tmp;
        
    
    catch (Exception e)
    
        Message.Show(e);
    

【讨论】:

以上是关于如何在 WPF 中创建可编辑的树列表视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 HTML/Javascript 中创建可编辑的组合框?

如何在HTML / Javascript中创建可编辑的组合框?

如何在 WPF 中创建可扩展的 Moebius-strip?

在 iOS 中创建可编辑的表格视图?

Kendo UI - 如何在编辑时使特定字段只读,同时在剑道网格中创建可编辑?

如何在 ios 中创建可扩展的表格视图?