标签: treeview

自定义TreeView以允许多选

内置的WPF TreeView控件不允许多选,就像ListBox一样.如何自定义TreeView以允许多重选择而无需重写.

wpf treeview multi-select

44
推荐指数
2
解决办法
4万
查看次数

WPF中的AutoExpand树视图

有没有办法在WPF中自动扩展树视图中的所有节点?我搜索了,甚至没有在treeview属性中找到扩展函数.

谢谢

wpf treeview expand

44
推荐指数
3
解决办法
3万
查看次数

Android Treeview

我知道有ExpandableListView但它最多只支持2个级别.我需要一个真正的树视图垂直列表,至少最多约5个级别(越多越好).

有什么建议?

编辑:

我看到有关使用自定义适配器并根据项目级别设置填充的说明.

我有一个没有排序的ArrayList对象具有ID和父ID,我也动态地向这个数组添加项目.

谁能给我一些我可以这样做的例子?

java treeview android

42
推荐指数
4
解决办法
5万
查看次数

为什么没有Windows.Forms.TreeView的SelectedNodeChanged事件?

System.Web.UI.WebControls.TreeView类提供此事件,但TreeView的Forms版本不提供此事件.形式世界中的等价物是什么?我正在使用AfterSelect,但它似乎不太正确.也许它实际上是我正在寻找但文档有点模糊.

.net c# treeview winforms

40
推荐指数
2
解决办法
2万
查看次数

WPF TreeView:ExpandAll()方法在哪里

如何在WPF中展开所有TreeView节点?在WinForms中有一个ExpandAll()方法来执行此操作.

wpf treeview

38
推荐指数
4
解决办法
4万
查看次数

JQuery Checkbox Treeview

我正在寻找一个JQuery Checkbox Treeview.有谁知道一个好的存在吗?

treeview jquery jquery-plugins

36
推荐指数
3
解决办法
7万
查看次数

在虚拟化WPF TreeView中滚动非常不稳定

如果启用了TreeView具有各种大小的项目的虚拟化,则会出现多个问题:

  • 垂直滚动条随机更改其大小,并且在查看整个树后不记得元素的大小.用鼠标滚动很难.

  • 在上下滚动之后,ArgumentNullException会从框架代码中抛出.

重现很简单:创建一个新的WPF应用程序,然后将此代码放入MainWindow.xaml中

<Window x:Class="VirtualTreeView.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="800" Width="400" Left="0" Top="0"
        DataContext="{Binding RelativeSource={RelativeSource Self}}">
    <Grid>
        <TreeView x:Name="tvwItems" ItemsSource="{Binding Items}"
                VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling">
            <TreeView.ItemTemplate>
                <DataTemplate>
                    <Border Height="{Binding Height}" Width="{Binding Height}"
                            BorderThickness="1" Background="DarkGray" BorderBrush="DarkBlue"/>
                </DataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

并将此代码放入MainWindow.xaml.cs

using System.Collections.ObjectModel;
using System.Linq;

namespace VirtualTreeView
{
    public partial class MainWindow
    {
        public ObservableCollection<Item> Items { get; set; }

        public MainWindow ()
        {
            Items = new ObservableCollection<Item>(Enumerable.Range(0, 20).Select(i => new Item {
                Height = i*20, …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf treeview virtualizingstackpanel

34
推荐指数
1
解决办法
6612
查看次数

WPF Treeview数据绑定分层数据与混合类型

我对WPF Treeview Binding有一些复杂的情况.我花了最近两天的时间尝试谷歌,是我提出的关闭,但它没有解决问题.

情况如下:

我有一个看起来像这样的对象:

public class Category
{
  public string Name { get; set; }
  public List<Category> Categories { get; set; }
  public List<Product> Products { get; set; }
}

public class Product
{
  public string Name { get; set;
}
Run Code Online (Sandbox Code Playgroud)

每个类别都可以包含对象列表和子类别.我有理由这样做对我和我正在写的应用程序完全有意义.

实际的对象构造可能看起来像这样:

Category - Pharmacy
  |-Product - Aspirin
  |-Product - Tylenol
  |-Category - Tooth Paste
  |  |-Product - Crest
  |  |-Product - Colgate
  |-Category - Paper Products
   |-Category - Toilet Paper
   |  |-Product - NoName
   | …
Run Code Online (Sandbox Code Playgroud)

wpf treeview binding hierarchicaldatatemplate hierarchical-data

33
推荐指数
1
解决办法
2万
查看次数

选择项目时如何避免winforms treeview图标更改

我正在一个小C#/ Winforms应用程序中试验树视图.我已经以编程方式将一个ImageList分配给树视图,并且所有节点都显示它们的图标就好了,但是当我单击一个节点时,它的图标会改变(到ImageList中的第一个图像).如何让图标保持不变?

BTW:"SelectedImageIndex"被设置为"(none)",因为我真的不知道要设置什么,因为图像索引对于节点是不同的(我猜?).

更新:这是应用程序的代码(我正在使用Visual Studio Express 2008):

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            treeView1.BeginUpdate();
            treeView1.Nodes.Clear();
            treeView1.Nodes.Add("root","Project", 0);  

            treeView1.Nodes[0].Nodes.Add("Foo", "Foo", 2);
            treeView1.Nodes[0].Nodes[0].Nodes.Add("Fizz", "Fizz", 3);
            treeView1.Nodes[0].Nodes[0].Nodes.Add("Buzz", "Buzz", 3);

            treeView1.Nodes[0].Nodes.Add("Bar", "Bar", 1);
            treeView1.Nodes[0].Nodes[1].Nodes.Add("Fizz", "Fizz", 2);
            treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Buzz", "Buzz", 3);

            treeView1.EndUpdate();
            treeView1.ImageList = imageList1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# treeview winforms

32
推荐指数
1
解决办法
2万
查看次数

在IIS中部署时,复选框在TreeView控件的节点上不可见

我正面临TreeView控制方面的问题.我为TreeView控制节点启用了复选框.它工作正常,显示正常.但是,当我将其部署到IIS时,复选框在那里不可见.它根本没有渲染.以下是TreeView:

<asp:TreeView id="tvExplicit"
        EnableClientScript="true"
        PopulateNodesFromClient="true"  
        ExpandDepth="0" 
        ShowLines="true" 
        ShowExpandCollapse="true"
        ShowCheckBoxes="Root"
        OnTreeNodePopulate="tvExplicit_TreeNodePopulate"
        Width="1px"
        runat="server">

    <Nodes>
    </Nodes>

  </asp:TreeView> 
Run Code Online (Sandbox Code Playgroud)

此代码在我的本地计算机上正常运行.但不是在IIS上部署时.一切正常,除了显示根节点的复选框.

注意:复选框根本不会呈现为HTML.因此,根据我的说法,它不是CSS阻止它

更新:我能够发现该页面的先前版本已缓存在IIS中,即使在重置APP池后也未重置.

第二次更新:在本地主机的复选框的客户编号是ctl00_MainContent_tvExplicitn0CheckBox,ctl00_MainContent_tvExplicitn1CheckBox等.这就是问题的原因.我注意到的另一件事是为localhost和部署到IIS的服务器中的控件生成的客户端ID的差异.下面是渲染<a>,它是两个树视图控件的一部分:

  1. IIS: MainContent_tvExplicitt0,MainContent_tvExplicitt1这是树视图节点链路的ID
  2. 本地主机:ctl00_MainContent_tvExplicitt0,ctl00_MainContent_tvExplicitt2,等

因此问题可能与如何在不同的环境中实际呈现控件有关,即我的localhost和IIS服务器.在localhost中,.Net 3.5 framework是否存在于IIS服务器中.Net 4.因此可能是因为这client ID两个版本的生成都不同.

第三次更新 此外,我将框架版本更改为.net 4in localhost,但它没有重现该问题.它也添加controlRenderingCompatibilityVersion="3.5"了web.config.然后我将相同的代码部署到IIS,我得到的错误controlRenderingCompatibilityVersion不是有效标记.这是否意味着IIS服务器没有运行..net 4我自己无法访问IIS服务器.

第4次更新: 应用程序.net 4在IIS中配置了版本.

第五次更新 我将相同的构建部署到不同机器上的另一台IIS服务器(这些是我们运行应用程序的旧服务器).并且可以看到复选框..net框架的版本与面临问题的版本相同.要求相关团队将这些服务器中的相同设置更新为面临问题的服务器.它仍然没有帮助.因此,在新的服务器上配置网站的方式确实存在问题,其中复选框不可见

c# asp.net iis treeview iis-7

32
推荐指数
3
解决办法
980
查看次数