SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――ツールバー機能

(11) ToolBarコントロールとToolBarTrayコントロール


ダウンロード ToolBar_WPF_VB.zip (74.6 KB)
ダウンロード ToolBar_WPF_CS.zip (70.6 KB)

07.ツールバーの並び順を設定する

 ToolBarクラスBandIndexプロパティを使用すると、ツールバートレイに複数配置したツールバーの並び順を設定することができます。

 下記は、BandIndexプロパティを使用して並び順を設定する例です。

ツールバーの並び順を設定する例
ツールバーの並び順を設定する例
XAMLの例
<DockPanel Name="DocPanel1">
    <ToolBarTray DockPanel.Dock="Top">
        <ToolBar Name="ToolBar1" Band="1">
            <Button>A</Button>
            <Button>B</Button>
            <Button>C</Button>
        </ToolBar>
        <ToolBar Name="ToolBar2" Band="2" BandIndex="3">
            <Button>D</Button>
            <Button>E</Button>
            <Button>F</Button>
        </ToolBar>
        <ToolBar Name="ToolBar3" Band="2" BandIndex="2">
            <Button>G</Button>
            <Button>H</Button>
            <Button>I</Button>
        </ToolBar>
        <ToolBar Name="ToolBar4" Band="2" BandIndex="1">
            <Button>J</Button>
            <Button>K</Button>
            <Button>L</Button>
        </ToolBar>
    </ToolBarTray>
    <TextBox></TextBox>
</DockPanel>
VBの例
'XAMLではなくコードでツールバーを作成する場合は下記のようにします

Dim ToolBarTray1 As New ToolBarTray
Dim ToolBar1 As New Controls.ToolBar
Dim ToolBar2 As New Controls.ToolBar
Dim ToolBar3 As New Controls.ToolBar
Dim ToolBar4 As New Controls.ToolBar
Dim btnA As New Button
Dim btnB As New Button
Dim btnC As New Button
Dim btnD As New Button
Dim btnE As New Button
Dim btnF As New Button
Dim btnG As New Button
Dim btnH As New Button
Dim btnI As New Button
Dim btnJ As New Button
Dim btnK As New Button
Dim btnL As New Button

'ツールバー1に追加するボタンの設定
btnA.Content = "A"
btnB.Content = "B"
btnC.Content = "C"
ToolBar1.Items.Add(btnA)
ToolBar1.Items.Add(btnB)
ToolBar1.Items.Add(btnC)
'ツールバー1の配置位置設定(1行目)
ToolBar1.Band = 1
'ツールバートレイににツールバー1を追加
ToolBarTray1.ToolBars.Add(ToolBar1)

'ツールバー2に追加するボタンの設定
btnD.Content = "D"
btnE.Content = "E"
btnF.Content = "F"
ToolBar2.Items.Add(btnD)
ToolBar2.Items.Add(btnE)
ToolBar2.Items.Add(btnF)
'ツールバー2の配置位置設定(2行目)
ToolBar2.Band = 2
'★★★ツールバー2の並び順を設定(3番目)★★★
ToolBar2.BandIndex = 3
'ツールバートレイににツールバー2を追加
ToolBarTray1.ToolBars.Add(ToolBar2)

'ツールバー3に追加するボタンの設定
btnG.Content = "G"
btnH.Content = "H"
btnI.Content = "I"
ToolBar3.Items.Add(btnG)
ToolBar3.Items.Add(btnH)
ToolBar3.Items.Add(btnI)
'ツールバー3の配置位置設定(2行目)
ToolBar3.Band = 2
'★★★ツールバー3の並び順を設定(2番目)★★★
ToolBar3.BandIndex = 2
'ツールバートレイににツールバー3を追加
ToolBarTray1.ToolBars.Add(ToolBar3)

'ツールバー4に追加するボタンの設定
btnJ.Content = "J"
btnK.Content = "K"
btnL.Content = "L"
ToolBar4.Items.Add(btnJ)
ToolBar4.Items.Add(btnK)
ToolBar4.Items.Add(btnL)
'ツールバー4の配置位置設定(2行目)
ToolBar4.Band = 2
'★★★ツールバー4の並び順を設定(1番目)★★★
ToolBar4.BandIndex = 1
'ツールバートレイにツールバー4を追加
ToolBarTray1.ToolBars.Add(ToolBar4)

'DockPanelにツールバーを設置
DockPanel.SetDock(ToolBarTray1, Dock.Top)
Me.DocPanel1.Children.Add(ToolBarTray1)

'DockPanelにテキストボックスを設置
Dim txtInput As New TextBox
DockPanel.SetDock(txtInput, Dock.Bottom)
Me.DocPanel1.Children.Add(txtInput)
C#の例
// XAMLではなくコードでツールバーを作成する場合は下記のようにします

ToolBarTray ToolBarTray1 = new ToolBarTray();
System.Windows.Controls.ToolBar toolBar1 = new System.Windows.Controls.ToolBar();
System.Windows.Controls.ToolBar toolBar2 = new System.Windows.Controls.ToolBar();
System.Windows.Controls.ToolBar toolBar3 = new System.Windows.Controls.ToolBar();
System.Windows.Controls.ToolBar toolBar4 = new System.Windows.Controls.ToolBar();
Button btnA = new Button();
Button btnB = new Button();
Button btnC = new Button();
Button btnD = new Button();
Button btnE = new Button();
Button btnF = new Button();
Button btnG = new Button();
Button btnH = new Button();
Button btnI = new Button();
Button btnJ = new Button();
Button btnK = new Button();
Button btnL = new Button();

// ツールバー1に追加するボタンの設定
btnA.Content = "A";
btnB.Content = "B";
btnC.Content = "C";
toolBar1.Items.Add(btnA);
toolBar1.Items.Add(btnB);
toolBar1.Items.Add(btnC);
// ツールバー1の配置位置設定(1行目)
toolBar1.Band = 1;
// ツールバートレイにツールバー1を追加
ToolBarTray1.ToolBars.Add(toolBar1);

// ツールバー2に追加するボタンの設定
btnD.Content = "D";
btnE.Content = "E";
btnF.Content = "F";
toolBar2.Items.Add(btnD);
toolBar2.Items.Add(btnE);
toolBar2.Items.Add(btnF);
// ツールバー2の配置位置設定(2行目)
toolBar2.Band = 2;
// ★★★ツールバー2の並び順を設定(3番目)★★★
toolBar2.BandIndex = 3;
// ツールバートレイにツールバー2を追加
ToolBarTray1.ToolBars.Add(toolBar2);

// ツールバー3に追加するボタンの設定
btnG.Content = "G";
btnH.Content = "H";
btnI.Content = "I";
toolBar3.Items.Add(btnG);
toolBar3.Items.Add(btnH);
toolBar3.Items.Add(btnI);
// ツールバー3の配置位置設定(2行目)
toolBar3.Band = 2;
//★★★ツールバー3の並び順を設定(2番目)★★★
toolBar3.BandIndex = 2;
// ツールバートレイににツールバー3を追加
ToolBarTray1.ToolBars.Add(toolBar3);

// ツールバー4に追加するボタンの設定
btnJ.Content = "J";
btnK.Content = "K";
btnL.Content = "L";
toolBar4.Items.Add(btnJ);
toolBar4.Items.Add(btnK);
toolBar4.Items.Add(btnL);
// ツールバー4の配置位置設定(2行目)
toolBar4.Band = 2;
//★★★ツールバー2の並び順を設定(1番目)★★★
toolBar4.BandIndex = 1;
// ツールバートレイににツールバー4を追加
ToolBarTray1.ToolBars.Add(toolBar4);

// DockPanelにツールバーを設置
System.Windows.Controls.DockPanel.SetDock(ToolBarTray1, Dock.Top);
this.DocPanel1.Children.Add(ToolBarTray1);

// DockPanelにテキストボックスを設置
TextBox txtInput = new TextBox();
System.Windows.Controls.DockPanel.SetDock(txtInput, Dock.Bottom);
this.DocPanel1.Children.Add(txtInput);
ポイント

 ツールバーの並び順を設定するにはBandIndexプロパティを使用する。

次のページ
08.ツールバーを固定する

この記事は参考になりましたか?

Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5827 2011/03/24 23:33

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー