mcpField
S
syncfusion-wpf-tab-splitter

syncfusion-wpf-tab-splitter

github.com/syncfusionデザイン・UI5156 回インストール1 週間前に更新
リポジトリ

syncfusion-wpf-tab-splitter について

Syncfusion WPF TabSplitter を使い、タブグループ内に上部と下部のページ領域を配置するためのガイドです。分割エディターやタブ付きの二画面表示を作る開発者向けに、方向やパネル表示の設定を説明します。

主な機能

  1. 01タブ項目を上下のパネルに分割
  2. 02各パネルへのページ追加
  3. 03水平または垂直方向の選択
  4. 04下部パネルの折りたたみとサイズ調整
  5. 05タブの色とテーマのカスタマイズ

活用シーン

  1. 01エディターで XAML とデザイン画面を並べて表示
  2. 02タブ内に二画面のコンテンツを配置
  3. 03複数の分割タブグループを整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/syncfusion/wpf-ui-components-skills --skill syncfusion-wpf-tab-splitter

インストール後、Claude Code で/syncfusion-wpf-tab-splitterを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
appearance.md
getting-started.md
items-and-panels.md
orientation-and-layout.md

詳細

WPF TabSplitter の実装

TabSplitter コントロールは、Visual Studio 2008 スタイルのタブグループ分割ビューを提供します。各タブ項目内のコンテンツを上部パネルと下部パネルに分割するため、分割エディターのレイアウト(例:XAML ビューとデザインビュー)、2 ペインのコンテンツビューアー、左右に並べたタブパネルに最適です。

必要なアセンブリ:

  • Syncfusion.Tools.WPF
  • Syncfusion.Shared.WPF

XAML 名前空間:

xmlns:syncfusion="http://schemas.syncfusion.com/wpf"

C# 名前空間:

using Syncfusion.Windows.Tools.Controls;

このスキルを使用する場面

シナリオTabSplitter を使用
XAML ビューとデザインビューを使う分割エディター✅ はい
タブ内の2ペインコンテンツ✅ はい
分割パネルを持つ複数のタブグループ✅ はい
シンプルなタブコントロール(分割なし)❌ 標準の TabControl を使用
水平方向のナビゲーションサイドバー❌ GroupBar または TreeNavigator を使用

ドキュメントとナビゲーションガイド

はじめに

📄 参照先: references/getting-started.md

  • アセンブリと NuGet の設定
  • XAML と C# による TabSplitter の追加
  • コンテンツを含む TabSplitterItem の追加
  • TopPanelItems と BottomPanelItems への SplitterPages の追加
  • SfSkinManager によるテーマの適用
項目とパネル構成

📄 参照先: references/items-and-panels.md

  • TabSplitterItem:Header、TopPanelItems、BottomPanelItems
  • SplitterPage:Header、コンテンツ、IsSelectedPage
  • 下部パネルの折りたたみ/展開(IsCollapsedBottomPanel)
  • BottomPanelHeight の設定
  • 子項目が1つだけの場合にヘッダータブを非表示にする(HideHeaderOnSingleChild)
  • 1つの TabSplitter 内に複数の TabSplitterItems を配置
方向とレイアウト

📄 参照先: references/orientation-and-layout.md

  • 項目ごとの水平/垂直方向
  • 入れ替え、折りたたみ、展開の動作の概要
外観とテーマ

📄 参照先: references/appearance.md

  • MouseOverBackground、MouseOverForeground
  • SelectedBackground、SelectedForeground
  • SfSkinManager の組み込みテーマ
  • ThemeStudio によるカスタムテーマの作成

クイックスタートの例

分割タブを1つ持つ最小構成の TabSplitter(XAML):

<Window x:Class="MyApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <syncfusion:TabSplitter Name="tabSplitter" Height="300" Width="500">
            <syncfusion:TabSplitterItem Header="Window1.xaml">
                <syncfusion:TabSplitterItem.TopPanelItems>
                    <syncfusion:SplitterPage Header="XAML">
                        <TextBlock Text="XAML View" HorizontalAlignment="Center"
                                   VerticalAlignment="Center" />
                    </syncfusion:SplitterPage>
                </syncfusion:TabSplitterItem.TopPanelItems>
                <syncfusion:TabSplitterItem.BottomPanelItems>
                    <syncfusion:SplitterPage Header="Design">
                        <TextBlock Text="Design View" HorizontalAlignment="Center"
                                   VerticalAlignment="Center" />
                    </syncfusion:SplitterPage>
                </syncfusion:TabSplitterItem.BottomPanelItems>
            </syncfusion:TabSplitterItem>
        </syncfusion:TabSplitter>
    </Grid>
</Window>

C# での同等の例:

TabSplitter tabSplitter = new TabSplitter();

SplitterPage topPage = new SplitterPage() { Header = "XAML" };
SplitterPage bottomPage = new SplitterPage() { Header = "Design" };

TabSplitterItem item = new TabSplitterItem() { Header = "Window1.xaml" };
item.TopPanelItems.Add(topPage);
item.BottomPanelItems.Add(bottomPage);

tabSplitter.Items.Add(item);
grid.Children.Add(tabSplitter);

よくあるパターン

複数のタブグループ
<syncfusion:TabSplitter>
    <syncfusion:TabSplitterItem Header="Window1.xaml">
        <syncfusion:TabSplitterItem.TopPanelItems>
            <syncfusion:SplitterPage Header="XAML" />
        </syncfusion:TabSplitterItem.TopPanelItems>
        <syncfusion:TabSplitterItem.BottomPanelItems>
            <syncfusion:SplitterPage Header="Design" />
        </syncfusion:TabSplitterItem.BottomPanelItems>
    </syncfusion:TabSplitterItem>
    <syncfusion:TabSplitterItem Header="Window2.xaml">
        <syncfusion:TabSplitterItem.TopPanelItems>
            <syncfusion:SplitterPage Header="XAML" />
        </syncfusion:TabSplitterItem.TopPanelItems>
        <syncfusion:TabSplitterItem.BottomPanelItems>
            <syncfusion:SplitterPage Header="Design" />
        </syncfusion:TabSplitterItem.BottomPanelItems>
    </syncfusion:TabSplitterItem>
</syncfusion:TabSplitter>
下部パネルを折りたたんだ状態で開始
<syncfusion:TabSplitterItem Header="Window1.xaml" IsCollapsedBottomPanel="True">
    ...
</syncfusion:TabSplitterItem>
垂直分割レイアウト
<syncfusion:TabSplitterItem Header="Window1.xaml" Orientation="Vertical">
    ...
</syncfusion:TabSplitterItem>

主なプロパティ

プロパティ対象型説明
HeaderTabSplitterItemobjectタブヘッダーのラベル
TopPanelItemsTabSplitterItemコレクション上部パネル内のページ
BottomPanelItemsTabSplitterItemコレクション下部パネル内のページ
OrientationTabSplitterItemOrientationHorizontal(既定)または Vertical
IsCollapsedBottomPanelTabSplitterItembool下部パネルを折りたたみます(既定値:false)
HeaderSplitterPageobjectページのタブラベル
IsSelectedPageSplitterPageboolこのページを選択済みに設定します
BottomPanelHeightTabSplitterdouble下部パネルの高さ
HideHeaderOnSingleChildTabSplitterbool項目が1つだけの場合にタブヘッダーを非表示にします
SelectedBackgroundTabSplitterBrush選択中のタブの背景
SelectedForegroundTabSplitterBrush選択中のタブの前景色
MouseOverBackgroundTabSplitterBrushホバー時の背景
MouseOverForegroundTabSplitterBrushホバー時の前景色

コメント