'宣言 Public Class XamRibbon Inherits Infragistics.Windows.Controls.IGControlBase Implements IKeyTipContainer
public class XamRibbon : Infragistics.Windows.Controls.IGControlBase, IKeyTipContainer
XamRibbon は、Microsoft Office 2007 Ribbon の外観と動作を提供するためのカスタム コントロールです。Ribbon のメイン プロパティは、QuickAccessToolbar、ApplicationMenu および Tabs です。
QuickAccessToolbar は QuickAccessToolbarLocation に基づき Ribbon の上または下に表示されるツールバーで、エンド ユーザーに一般的に使用されるツールを表示するために使用されます。エンド ユーザーは、コンテキスト メニューを右クリックして QAT にツールを追加するか、QatPlaceholderTool を使用してプログラムで QuickAccessToolbar にツールを追加できます。RibbonGroup または ApplicationMenu 内でエンド ユーザーに表示されないツールのインスタンスがあるが、QAT に追加される場合、ツールを ToolsNotInRibbon に追加することもできます。
ApplicationMenu は XamRibbon の左上角内の丸いボタンとして表示される特別のメニューで、アプリケーションまたはウィンドウに一般的なアクションを実行するために使用されるツールを含むための 3 つの特別な領域を含みます。
Tabs は、アプリケーション内でさまざまなアクションを実行するために使用されるツールを論理的および視覚的に整理するために使用される RibbonTabItem インスタンスのコレクションです。SelectedTab は、どのタブ項目のコンテンツがエンド ユーザーに表示されるかを制御するために使用されます。SelectNextTab および SelectPreviousTab メソッドは、タブ内でナビゲートするために使用することができます。または表示可能のタブの System.Windows.Controls.TabItem.IsSelected プロパティを True に設定できます。
XamRibbon は ContextualTabGroup インスタンス作成のサポートも提供します。これらのオブジェクトは、それらの ContextualTabGroup.IsVisible が True の場合、ContextualTabGroups コレクションに追加され、ContextualTabGroup.Tabs はタブ項目ヘッダーの上にキャプションが付けられて非コンテキスト タブの後に表示されます。
XamRibbonWindow は、Microsoft Office 2007 内で使用される同じスタイルの丸いフォームを提供するために XamRibbon をホストするために使用されます。XamRibbon が XamRibbonWindow の Ribbon 内にホストされる時、IsWithinRibbonWindow は True に設定されます。
XamRibbon は IsMinimized プロパティを使用して最小化するための機能をサポートしますが、コンテキスト メニューの右クリックを使用するか Ctrl-F1 を押して UI を介して最小化することもできます。Ribbon が最小化されると、選択したタブのコンテンツは非表示になり、Ribbon の高さが低くなります。タブが選択されると(マウス、キーボード、KeyTip または SelectedTab をプログラムで設定して)、選択したタブのコンテンツは含んでいるウィンドウのコンテンツの上のポップアップ内に表示されます。AllowMinimize プロパティは、リボンの最小化された状態を UI で変更されないようにするために使用できます。
XamRibbon の外観は Theme プロパティを使用して変更可能で、Microsoft Office 2007 にある同じスタイル カラー スキームを提供するために Office2k7Black、Office2k7Blue および Office2k7Silver などの値をサポートします。ユーザーは Infragistics.Windows.Themes.ResourceWasher を使用してこれらのカラー スキームの修正されウォッシュされたバージョンも提供できます。
含んでいるフォームの幅/高さが指定したしきい値より小さい場合、XamRibbon は自動的に非表示にするための機能をサポートします。この動作はデフォルトで無効にされていますが、AutoHideEnabled プロパティを True に設定することで有効にできます。True の場合、幅または高さが含んでいるフォームの AutoHideHorizontalThreshold または AutoHideVerticalThreshold よりもそれぞれ下になると、Ribbon の AutoHideState は Hidden に変更されます。
Public Partial Class CodeRibbonWindow Inherits XamRibbonWindow Private xamRibbon As XamRibbon Public Sub New() InitializeComponent() initRibbonItems() End Sub Private Sub initRibbonItems() 'Create RibbonWindowContentHost Dim xamContentHost As New RibbonWindowContentHost() Me.Content = xamContentHost 'Create XamRibbon object xamRibbon = New XamRibbon() xamContentHost.Ribbon = xamRibbon DockPanel.SetDock(xamRibbon, Dock.Top) End Sub End Class
public partial class CodeRibbonWindow : XamRibbonWindow { XamRibbon xamRibbon; public CodeRibbonWindow() { InitializeComponent(); initRibbonItems(); } private void initRibbonItems() { //Create RibbonWindowContentHost RibbonWindowContentHost xamContentHost = new RibbonWindowContentHost(); this.Content = xamContentHost; //Create XamRibbon object xamRibbon = new XamRibbon(); xamContentHost.Ribbon = xamRibbon; DockPanel.SetDock(xamRibbon, Dock.Top); } }