WinRTXamlToolkit TreeView项水平拉伸

时间:2015-02-16 13:17:12

标签: wpf xaml windows-store-apps treeview winrt-xaml

我试图让树状视图项水平拉伸 这是我原来的结果 Original 但我想要的是这个 Altered

这是我的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>

1 个答案:

答案 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进行简单调整的解决方案。