【问题标题】:WPF Databinding Treeview To List WeirdnessWPF 数据绑定树视图列出怪异
【发布时间】:2011-02-01 05:59:17
【问题描述】:

所以我在数据绑定方面遇到了一个奇怪的问题。我正在尝试将列表数据绑定到树视图,出于某种原因,我可以选择作为绑定的一部分创建的项目。

绑定源:

<TreeView Name="paramTree" 
          BorderBrush="DarkSlateGray"
          Margin="0,0,0,1">
    <TreeViewItem Name="systemNode"
                  Header="System Info"
                  ItemsSource="{Binding}">
        <TreeViewItem.ItemTemplate>
            <DataTemplate>
                <TreeViewItem Header="{Binding}"/>
            </DataTemplate>
        </TreeViewItem.ItemTemplate>
    </TreeViewItem>
</TreeView>

代码背后:

private PropertyList sysList = new PropertyList(typeof(System.Environment));

public MainWindow()
{
    InitializeComponent();
    .
    .
    systemNode.DataContext = sysList;
}

class PropertyList : List<string>
{
    public PropertyList(Type t)
    {
        // Get properties of this type
        PropertyInfo[] propertyInfo = t.GetProperties();

        foreach (PropertyInfo property in propertyInfo)
        {
            Add(property.Name);
        }
    }
}

这会创建一个“系统信息”节点的子树,其中包含 System.Environment 的所有属性,但我无法单击任何新的 TreeViewItems...帮助?

【问题讨论】:

    标签: c# wpf list data-binding treeview


    【解决方案1】:

    仅看这个我认为这是那个老问题,如果我错了,请纠正我......

    TreeView 会自动围绕您的项目生成一个 TreeViewItem。您的 ItemTemplate 应该是:

        <TreeViewItem.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}"/>
            </DataTemplate>
        </TreeViewItem.ItemTemplate>
    

    【讨论】:

      猜你喜欢
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2011-07-14
      • 1970-01-01
      相关资源
      最近更新 更多