ツールバーは右端にオーバーフローパネルと呼ばれるパネル(▼矢印をクリックしたときに表示されるエリア)を持っており、添付プロパティの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);