我是WPF和XAML的新手..
我想使用CellTemplate将TreeView添加到ListView元素中。
我想将每个ListViewItem绑定到名为“Symbol”的Custom类
此类具有名为“Name”的属性和名为“Images”的属性。
“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>
答案 0 :(得分:0)
首先,您应该将ListView
绑定到Symbol
个对象的集合。
现在,ListView
的每个单元格都绑定到Symbol
个对象。如果我理解正确,则每个Symbol
应为TreeView
,其根节点标题显示Name
属性,子集合显示Images
个字符串。
这可以通过这种方式实现:
<TreeView >
<TreeViewItem Header="{Binding Name}" ItemsSource="{Binding Images}" />
</TreeView>