如何在不创建滚动条的情况下添加项目时自动扩展选项卡控件?

时间:2008-10-28 05:59:17

标签: wpf tabcontrol

我正在使用WPF用户控件(标签控件)在下面的简化代码中动态添加标签项:

....
foreach (string id in ids)
{
    TabControl.Items.Add(CreateTabItem(id));
}

private TabItem CreateTabItem(string name)
{
    StackPanel txtBlock = new TextBlock();
    txtblock.Text = name;
    txtBlock.HorizontalAlignment = Horizontalalignment.Center;
    panel.Children.Add(txtBlock);

    TabItem item = new TabItem();
    item.Header = panel;

    <SomeControl> control = new <SomeControl>();
    item.Content = control;
    return item;
 }

在xaml文件中,我指定了以下内容将所有标签项堆叠到左列:

MinWidth="100" MinHeight="300" TabStripPlacement="Left"

如何使我的标签控件自动延伸(即拉伸)其高度以显示我添加的所有标签项?现在,我必须手动扩展显示窗口的高度以查看所有选项卡项。非常感谢您的见解/提示。

PS:如果你知道如何在标签项超出窗口高度时出现垂直滚动条(不向我的控件添加滚动条),如果我的原始意图没有答案,我可以解决这个问题

1 个答案:

答案 0 :(得分:1)


<ScrollViewer>
    <TabControl
        TabStripPlacement="Left"
        x:Name="Tab"
    >
    </TabControl>
</ScrollViewer>

获取滚动条,该滚动条将在需要时启用。