在wpf中的Treeview

时间:2011-08-27 09:06:33

标签: wpf treeview

我试图绑定ItemsControl以在WPF中的静态树视图中用作Repeater(Asp.net)。

代码。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel>
        <TreeView Margin="10,10,0,13" Name="TreeView1" HorizontalAlignment="Left" VerticalAlignment="Top" Width="194" Height="200" >
            <TreeViewItem Header="Cold Drinks" IsExpanded="true">
                <TreeViewItem Header="Coke"  IsExpanded="true">
                    <ItemsControl Name="list" >
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <TreeViewItem Header="{Binding}"></TreeViewItem>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>
                </TreeViewItem>
                <TreeViewItem Header="Orange Juice"></TreeViewItem>
            </TreeViewItem>
        </TreeView>
    </StackPanel>
</Window>

C#

list.ItemsSource = new List<string> { "Coke1", "Coke2", "Coke3" };

这导致3个子项似乎是一个组,如果我选择一个我选择全部。

任何?

谢谢, 马格努斯

1 个答案:

答案 0 :(得分:0)

将TreeViewItem的ItemsSource属性设置为列表。这将得到你所期望的。
在下面的代码中,我将列表的名称设置为TreeViewItem(作为简短的黑客)以用于演示目的。因此,您的代码会将列表附加到TreeViewItem的ItemsSource。

<TreeViewItem Header="Cold Drinks" IsExpanded="true">
       <TreeViewItem Header="Coke"  IsExpanded="true" Name="list">                                    
       </TreeViewItem>
       <TreeViewItem Header="Orange Juice">
       </TreeViewItem>
</TreeViewItem>