首页 文章

通过CellTemplate在ListView中的## WPF TreeView

提问于
浏览
0

我是WPF和XAML的新手..

我想使用CellTemplate将TreeView添加到ListView元素中 .

我想将每个ListViewItem绑定到名为“Symbol”的Custom类

此类具有名为“名称”的属性和名为“图像”的属性 .

“Name”只是一个String,它应该是TreeView的根元素 .

“图像”是一个字符串列表 .

此列表的每个条目都应该是此TreeView的子项 .

请不要只留下代码片段,我想了解CellTemplates的工作原理!

谢谢!

<Grid>
    <ListView x:Name="listview" HorizontalAlignment="Left" Height="326" Margin="0,33,0,0" VerticalAlignment="Top" Width="499">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="Symbols" Width="200"  >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <StackPanel>
                                <TreeView>
                                <!--
                                    what to be done here?
                                -->
                                </TreeView>
                            </StackPanel>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>
    <Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="250" Margin="504,33,0,0" VerticalAlignment="Top" Width="250">
        <Border x:Name="image_preview" HorizontalAlignment="Center" Height="250" VerticalAlignment="Center" Width="250"/>
    </Border>

</Grid>

1 回答

  • 0

    首先,您应该将 ListView 绑定到 Symbol 对象的集合 . 现在, ListView 的每个单元格都绑定到 Symbol 对象 . 如果我理解正确的话,每个 Symbol 应该是 TreeView ,根节点 Headers 显示 Name 属性,子集合显示 Images 字符串 .

    这可以通过这种方式实现:

    <TreeView >
        <TreeViewItem Header="{Binding Name}" ItemsSource="{Binding Images}" />    
    </TreeView>
    

相关问题