3

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:タブ項目がウィンドウの高さを超えるとすぐに(コントロールにスクロールバーを追加せずに)垂直スクロールバーを表示する方法を知っていれば、元の意図に対する答えがない場合はそれで解決できます。

4

1 に答える 1

1

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

必要なときに有効になるスクロールバーを取得します。

于 2008-10-28T20:37:54.380 に答える