<Window ... xmlns:igRibbon="http://infragistics.com/Ribbon" ... >
このトピックではユーザーができるだけ早く操作に慣れることができるよう、Microsoft® Visual Studio® を使用して、xamRibbon™ コントロールを Window に追加するために最低限必要な基本手順について説明します。
Microsoft® Windows® Presentation Foundation Window プロジェクトを作成します。
以下の NuGet パッケージをプロジェクトに追加します。
Infragistics.WPF.Ribbon
NuGet フィードのセットアップと NuGet パッケージの追加の詳細については、NuGet フィード ドキュメントを参照してください。
開いているウィンドウ タグ内で xamRibbon の名前空間宣言を追加します。コード ビハインドでは、using/Imports のディレクティブが必要です。そうすると、メンバーの完全修飾名を入力する必要がなくなります。
XAML の場合:
<Window ... xmlns:igRibbon="http://infragistics.com/Ribbon" ... >
Visual Basic の場合:
Imports Infragistics.Windows.Ribbon
C# の場合:
using Infragistics.Windows.Ribbon;
xamRibbon のインスタンスを作成し、名前を付け、その配置を設定します。デフォルトでは、Visual Studio は Grid レイアウト コンテナを新しい Window に追加し、それに「layoutRoot」という名前を付けます。xamRibbon をこの Grid レイアウト コンテナに追加すると、コンテナを埋めるために自動的に拡張されます。xamRibbon の拡張を防止するには、VerticalAlignment プロパティを Top に設定するか、DockPanel などの他のレイアウト コンテナを使用します。
XAML の場合:
<Grid Name="layoutRoot"> <igRibbon:XamRibbon Name="xamRibbon1" VerticalAlignment="Top"> <!-- TODO: ここでタブを追加します --> </igRibbon:XamRibbon> </Grid>
InitializeComponent メソッドの後に Window コンストラクターで xamRibbon コントロールのインスタンスを作成し、それをグリッドの子コレクションに追加します。
Visual Basic の場合:
Dim xamRibbon1 As New XamRibbon() xamRibbon1.VerticalAlignment = VerticalAlignment.Top Me.layoutRoot.Children.Add(xamRibbon1)
C# の場合:
XamRibbon xamRibbon1 = new XamRibbon(); xamRibbon1.VerticalAlignment = VerticalAlignment.Top; this.layoutRoot.Children.Add(xamRibbon1);
xamRibbon コントロール タブ内で Tabs コレクションを宣言します。
Tabs コレクションに RibbonTabItem を追加します。RibbonTabItem のヘッダーにテキストを表示するために Header プロパティを設定します。
RibbonGroup を RibbonTabItem に追加します。RibbonGroup のキャプション領域にテキストを表示するために RibbonGroup の Caption プロパティを設定します。
XAML の場合:
... <igRibbon:XamRibbon.Tabs> <igRibbon:RibbonTabItem Header="Home"> <igRibbon:RibbonGroup Caption="Font"> <!-- TODO: ツールをここに追加します --> </igRibbon:RibbonGroup> </igRibbon:RibbonTabItem> </igRibbon:XamRibbon.Tabs> ...
Visual Basic の場合:
Dim tabItem As New RibbonTabItem() tabItem.Header = "Home" Dim group As New RibbonGroup() group.Caption = "Font" tabItem.RibbonGroups.Add(group) xamRibbon1.Tabs.Add(tabItem)
C# の場合:
RibbonTabItem tabItem = new RibbonTabItem { Header = "Home" }; RibbonGroup group = new RibbonGroup { Caption = "Font" }; tabItem.RibbonGroups.Add(group); xamRibbon1.Tabs.Add(tabItem);
3 つの ButtonTools を ButtonGroup に追加します。各 ButtonTool のキャプションおよび Id プロパティを設定し、イベント ハンドラーを各 ButtonTool のクリック イベントに接続します。
XAML の場合:
... <igRibbon:ButtonGroup> <igRibbon:ButtonTool Caption="Bold" Id="btnBold" Click="buttonTool_Click" /> <igRibbon:ButtonTool Caption="Italic" Id="btnItalic" Click="buttonTool_Click" /> <igRibbon:ButtonTool Caption="Underline" Id="btnUnderline" Click="buttonTool_Click" /> </igRibbon:ButtonGroup> ...
Visual Basic の場合:
Dim buttonGroup As New ButtonGroup() Dim buttonTool1 As New ButtonTool() buttonTool1.Caption = "Bold" buttonTool1.Id = "btnBold" buttonTool1.Click += New RoutedEventHandler(buttonTool_Click) Dim buttonTool2 As New ButtonTool() buttonTool2.Caption = "Italic" buttonTool2.Id = "btnItalic" buttonTool2.Click += New RoutedEventHandler(buttonTool_Click) Dim buttonTool3 As New ButtonTool() buttonTool3.Caption = "Underline" buttonTool3.Id = "btnUnderline" buttonTool3.Click += New RoutedEventHandler(buttonTool_Click) buttonGroup.Children.Add(buttonTool1) buttonGroup.Children.Add(buttonTool2) buttonGroup.Children.Add(buttonTool3) group.Items.Add(buttonGroup) ...
C# の場合:
ButtonGroup buttonGroup = new ButtonGroup(); ButtonTool buttonTool1 = new ButtonTool(); buttonTool1.Caption = "Bold"; buttonTool1.Id = "btnBold"; buttonTool1.Click += new RoutedEventHandler(buttonTool_Click); ButtonTool buttonTool2 = new ButtonTool(); buttonTool2.Caption = "Italic"; buttonTool2.Id = "btnItalic"; buttonTool2.Click += new RoutedEventHandler(buttonTool_Click); ButtonTool buttonTool3 = new ButtonTool(); buttonTool3.Caption = "Underline"; buttonTool3.Id = "btnUnderline"; buttonTool3.Click += new RoutedEventHandler(buttonTool_Click); buttonGroup.Children.Add(buttonTool1); buttonGroup.Children.Add(buttonTool2); buttonGroup.Children.Add(buttonTool3); group.Items.Add(buttonGroup); ...
コード ビハインドで、ButtonTools の Click イベントを処理するメソッドを作成します。
Visual Basic の場合:
Private Sub buttonTool_Click(ByVal sender As System.Object, _ ByVal e As System.Windows.RoutedEventArgs) Dim bt as ButtonTool = DirectCast(e.OriginalSource, ButtonTool) Select Case bt.Id Case "btnBold" MessageBox.Show("Bold Button") Exit Select Case "btnItalic" MessageBox.Show("Italic Button") Exit Select Case "btnUnderline" MessageBox.Show("Underline Button") Exit Select End Select End Sub
C# の場合:
private void buttonTool_Click(object sender, RoutedEventArgs e) { ButtonTool bt = (ButtonTool)e.OriginalSource; switch (bt.Id) { case "btnBold": MessageBox.Show("Bold Button"); break; case "btnItalic": MessageBox.Show("Italic Button"); break; case "btnUnderline": MessageBox.Show("Underline Button"); break; } }
プロジェクトを実行し、ボタンをクリックして MessageBox を表示します。