我试图让树状视图项水平拉伸 这是我原来的结果 但我想要的是这个
这是我的XAML代码
<Grid x:Name="AgendaGrid" Grid.Row="1">
<Controls:TreeView ItemsSource="{Binding TreeItems}" Style="{StaticResource TouchTreeViewStyle}">
<Controls:TreeView.ItemTemplate>
<DataTemplate>
<data:DataTemplateExtensions.Hierarchy>
<data:HierarchicalDataTemplate ItemsSource="{Binding Children}" />
</data:DataTemplateExtensions.Hierarchy>
<Grid>
<Button Visibility="{Binding IsHeading}" Padding="0" Content="{Binding Name}" />
</Grid>
</DataTemplate>
</Controls:TreeView.ItemTemplate>
</Controls:TreeView>
</Grid>
答案 0 :(得分:0)
实现目标的简单方法是使用HorizontalContentAlignment
属性:
<TreeView ItemsSource="{Binding Items}" HorizontalContentAlignment="Stretch" />
不幸的是,这不适用于TreeViewItem
。这是因为ControlTemplate
的{{1}}具有硬编码的顶级TreeViewItem
,其针对此要求设置了错误的Grid
。因此,满足您要求的方法是更改默认RowDefinitions
,您可以在MSDN上的TreeView Styles and Templates页面中找到该默认值。{/ p>
我不是在这里再次重复整个故事,而是指导您在 LeeCampbell博客的Horizontal stretch on TreeViewItems页面上找到解决方案。这更详细地描述了问题,并建议对ControlTemplate
进行简单调整的解决方案。