ツールバーは右端にオーバーフローパネルと呼ばれるパネル(▼矢印をクリックしたときに表示されるエリア)を持っており、添付プロパティのOverflowModeを設定することで、コントロールがパネルに表示されるタイミングを設定することができます。
OverflowModeプロパティにはOverflowMode列挙体の値を指定します。
OverflowMode列挙体 メンバ名 説明 AsNeeded コントロールがツールバーに表示しきれない場合は、オーバーフローパネルに表示します Always 常にオーバーフローパネルに表示します Never オーバーフローパネルに表示しません
下記は、各コントロールにオーバーフローモードを設定する例です。
XAMLの例
<DockPanel Name="DocPanel1">
<ToolBar DockPanel.Dock="Top">
<Button ToolTip="新規作成" ToolBar.OverflowMode="AsNeeded">
<Image Source="Images/NewDocument.png" Width="16" Height="16" />
</Button>
<Button ToolTip="保存" ToolBar.OverflowMode="AsNeeded">
<Image Source="Images/Save.png" Width="16" Height="16" />
</Button>
<Separator />
<TextBlock VerticalAlignment="Center"
ToolBar.OverflowMode="Never">フォントサイズ</TextBlock>
<ComboBox Width="50" ToolTip="フォントサイズ"
ToolBar.OverflowMode="Never">
<ComboBoxItem IsSelected="True">10pt</ComboBoxItem>
<ComboBoxItem>11pt</ComboBoxItem>
<ComboBoxItem>12pt</ComboBoxItem>
</ComboBox>
<Button ToolTip="太字" ToolBar.OverflowMode="Always">
<Image Source="Images/boldhs.png" Width="16" Height="16" />
</Button>
<Button ToolTip="斜体" ToolBar.OverflowMode="Always">
<Image Source="Images/Italichs.png" Width="16" Height="16" />
</Button>
</ToolBar>
<TextBox></TextBox>
</DockPanel>
VBの例
'XAMLではなくコードでオーバーフローモードを設定する場合は下記のようにします
'新規作成ボタンにオーバーフローモードを設定する例です
Dim toolBar1 As New Controls.ToolBar 'ツールバー
Dim btnNewDocument As New Button '[新規作成]ボタン
'[新規作成]ボタンの作成
Dim bmpImgNewDoc As New BitmapImage()
Dim imgNewDoc As New Image
bmpImgNewDoc.BeginInit()
bmpImgNewDoc.UriSource = New Uri("Images/NewDocument.png", UriKind.Relative)
bmpImgNewDoc.EndInit()
imgNewDoc.Source = bmpImgNewDoc
imgNewDoc.Width = 16 : imgNewDoc.Height = 16
btnNewDocument.ToolTip = "新規作成"
btnNewDocument.Content = imgNewDoc
'[新規作成]ボタンをツールバーに追加
toolBar1.Items.Add(btnNewDocument)
'★★★オーバーフローモードの設定★★★
Controls.ToolBar.SetOverflowMode(btnNewDocument, OverflowMode.AsNeeded)
C#の例
// XAMLではなくコードでオーバーフローモードを設定する場合は下記のようにします
// 新規作成ボタンにオーバーフローモードを設定する例です
//System.Windows.Controls.ToolBar toolBar1 =
// new System.Windows.Controls.ToolBar();
//Button btnNewDocument = new Button(); // [新規作成]ボタン
// [新規作成]ボタンの作成
BitmapImage bmpImgNewDoc = new BitmapImage();
Image imgNewDoc = new Image();
bmpImgNewDoc.BeginInit();
bmpImgNewDoc.UriSource = new Uri("Images/NewDocument.png", UriKind.Relative);
bmpImgNewDoc.EndInit();
imgNewDoc.Source = bmpImgNewDoc;
imgNewDoc.Width = 16; imgNewDoc.Height = 16;
btnNewDocument.ToolTip = "新規作成";
btnNewDocument.Content = imgNewDoc;
// [新規作成]ボタンをツールバーに追加
toolBar1.Items.Add(btnNewDocument);
//★★★オーバーフローモードの設定★★★
System.Windows.Controls.ToolBar.SetOverflowMode(btnNewDocument, OverflowMode.AsNeeded);
