包含2个TreeView的可滚动StackPanel

时间:2011-11-22 10:30:50

标签: wpf xaml treeview stackpanel

我得到了以下xaml代码(简化):

        <StackPanel Grid.Row="2">
            <TreeView x:Name="a" VerticalAlignment="Stretch" BorderThickness="0">
            [...]
            </TreeView>

            <TreeView Name="b" VerticalAlignment="Stretch" BorderThickness="0">
            [...]
            </TreeView>
        </StackPanel>

我的StackPanel包含在某个列和第2行的Grid中。当我的一个TreeView太长(垂直)时,我没有出现的ScrollBar ...... / p>

我尝试添加属性

CanVerticallyScroll="True"

到StackPanel但它没有改变任何东西......

任何帮助?

1 个答案:

答案 0 :(得分:0)

如果你想在两个树形视图滚动条中都可以这样做:

<Grid Height="100" Width="500">
  <Grid.RowDefinitions>
    <RowDefinition />
    <RowDefinition />
  </Grid.RowDefinitions>

  <TreeView Grid.Row="0">
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
  </TreeView>
  <TreeView Grid.Row="1">
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
    <TreeViewItem>Test</TreeViewItem>
  </TreeView>
</Grid>

我认为StackPanel的这个变种不是一个好的解决方案。

<Grid Height="100" Width="500">
  <StackPanel>

    <TreeView Grid.Row="0" MaxHeight="50">
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
    </TreeView>
    <TreeView Grid.Row="1" MaxHeight="50">
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
      <TreeViewItem>Test</TreeViewItem>
    </TreeView>

  </StackPanel>
</Grid>