Basic Library for UWP
手順2:コントロールへの RadialMenu 項目の追加
Basic Library for UWP > RadialMenu for UWP > クイックスタート > 手順2:コントロールへの RadialMenu 項目の追加

前の手順では、UWP プロジェクトを作成しました。この手順では、C1RadialMenu コントロールを追加します。

  1. MainPage.xaml で、<Grid> タグと </Grid> タグの間にカーソルを置き、1回クリックします。
  2. ContextMenuProperty 添付プロパティのマークアップを追加します。
    マークアップ
    コードのコピー
    <Xaml:C1ContextMenuService.ContextMenu>
    </Xaml:C1ContextMenuService.ContextMenu>
    C1ContextMenuService は、C1RadialMenu が任意のコントロールのコンテキストメニューとして動作できるようにします。コンテキストメニューは、親コントロールを右クリックまたは右タップすると自動的に表示されます。この場合、親コントロールは Grid です。次に、このコントロール内に C1RadialMenu を追加します。
           
    メモ: C1RadialMenu コントロールをプログラムによって表示する場合は、C1ContextMenuService を省略し、コードで単に Show メソッドを呼び出すことができます。
  3. < Xaml:C1ContextMenuService.ContextMenu > タグ内に次のマークアップを追加します。
    マークアップ
    コードのコピー
    <Xaml:C1RadialMenu x:Name="contextMenu" Offset="-130,0" ItemClick="contextMenu_ItemClick" ItemOpened="contextMenu_ItemOpened" >
     </Xaml: C1RadialMenu>
    これにより、C1RadialMenu コントロールが追加されます。
  4. <Xaml:C1RadialMenu> </Xaml:C1RadialMenu> タグ内に、次のマークアップを追加します。
    マークアップ
    コードのコピー
    <Xaml:C1RadialMenuItem Header="UndoRedo" SelectedIndex="0" ShowSelectedItem="True" Command="{Binding UndoCommand, ElementName=page}">
           <Xaml:C1RadialMenuItem Header="元に戻す" >
              <Xaml:C1RadialMenuItem.Icon>
                <TextBlock Text="&#xE10E;" Style="{StaticResource TextIconStyle}" />
              </Xaml:C1RadialMenuItem.Icon>
            </Xaml:C1RadialMenuItem>
            <Xaml:C1RadialMenuItem Header="やり直し" >
              <Xaml:C1RadialMenuItem.Icon>
                <TextBlock Text="&#xE10D;" Style="{StaticResource TextIconStyle}" />
              </Xaml:C1RadialMenuItem.Icon>
            </Xaml:C1RadialMenuItem>
            <Xaml:C1RadialMenuItem ToolTip="テキストの書式をクリアします" DisplayIndex="7">
            <Xaml:C1RadialMenuItem.Header>
                            <TextBlock TextWrapping="Wrap" MaxWidth="50" TextAlignment="Center">書式をクリア</TextBlock>
                        </Xaml:C1RadialMenuItem.Header>
                    </Xaml:C1RadialMenuItem>
                </Xaml:C1RadialMenuItem>
                <Xaml:C1RadialMenuItem AutoSelect="True" ShowSelectedItem="True" Header="クリップボード" SectorCount="8">
                    <Xaml:C1RadialMenuItem Header="切り取り">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE16B;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                    <Xaml:C1RadialMenuItem Header="コピー">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE16F;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                    <Xaml:C1RadialMenuItem Header="貼り付け">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE16D;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                </Xaml:C1RadialMenuItem>
                <Xaml:C1RadialMenuItem Header="追加" SectorCount="6">
                    <Xaml:C1RadialMenuItem.Icon>
                        <TextBlock Text="&#xE109;" Style="{StaticResource TextIconStyle}" />
                    </Xaml:C1RadialMenuItem.Icon>
                    <Xaml:C1RadialMenuItem Header="新しい項目" ToolTip="新しい項目を追加します">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE1DA;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                    <Xaml:C1RadialMenuItem Header="既存の項目" ToolTip="既存の項目を追加します">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE132;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                    <Xaml:C1RadialMenuItem Header="フォルダー">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE188;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                    <Xaml:C1RadialMenuItem Header="クラス">
                        <Xaml:C1RadialMenuItem.Icon>
                            <TextBlock Text="&#xE1D3;" Style="{StaticResource TextIconStyle}" />
                        </Xaml:C1RadialMenuItem.Icon>
                    </Xaml:C1RadialMenuItem>
                </Xaml:C1RadialMenuItem>
                <Xaml:C1RadialMenuItem Header="除外" ToolTip="Exclude From Project" >
                    <Xaml:C1RadialMenuItem.Icon>
                        <TextBlock Text="&#xE10A;" Style="{StaticResource TextIconStyle}" />
                    </Xaml:C1RadialMenuItem.Icon>
                </Xaml:C1RadialMenuItem>
                <Xaml:C1RadialMenuItem Header="削除">
                    <Xaml:C1RadialMenuItem.Icon>
                        <TextBlock Text="&#xE107;" Style="{StaticResource TextIconStyle}" />
                    </Xaml:C1RadialMenuItem.Icon>
                </Xaml:C1RadialMenuItem>
                <Xaml:C1RadialMenuItem Header="名前の変更">
                    <Xaml:C1RadialMenuItem.Icon>
                        <TextBlock Text="&#xE13E;" Style="{StaticResource TextIconStyle}" />
                    </Xaml:C1RadialMenuItem.Icon>
                </Xaml:C1RadialMenuItem>
                <Xaml:C1RadialMenuItem Header="プロパティ">
                    <Xaml:C1RadialMenuItem.Icon>
                        <TextBlock Text="&#xE115;" Style="{StaticResource TextIconStyle}" />
                    </Xaml:C1RadialMenuItem.Icon>
                </Xaml:C1RadialMenuItem>
    上のマークアップは、RadialMenu にメニュー項目を追加します。
  5. </Xaml:C1ContextMenuService.ContextMenu> タグのすぐ下に次のマークアップを追加します。
    マークアップ
    コードのコピー
    <TextBlock Text="ここはコンテクストメニューのボタンを押してください (Windowsの場合右クリックする)。" Foreground="Sienna" FontSize="16" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    </Border>
    <TextBlock x:Name="txt" Foreground="Red" Text="" FontSize="16" VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="10" />
    これは、</Border> タグの前後に1つずつ、合計2つの汎用 TextBlock コントロールをアプリケーションに追加します。最初の TextBlock には、C1RadialMenu の表示方法についての指示が入ります。2番目の TextBlock には、ユーザーがタップ、クリック、または開いた C1RadialMenuItem が表示されます。
  6. MainPage.xaml.cs ページを開き、プロジェクトに次の Click イベントハンドラを追加します。

    C# コードの書き方

    C#
    コードのコピー

    private void contextMenu_ItemClick(object sender, C1.Xaml.SourcedEventArgs e)

            {

                txt.Text = "選択されました: " + ((C1.Xaml.C1RadialMenuItem)e.Source).Header.ToString();

            }

            private void contextMenu_ItemOpened(object sender, C1.Xaml.SourcedEventArgs e)

            {

                txt.Text = "開かれました: " + ((C1.Xaml.C1RadialMenuItem)e.Source).Header.ToString();

            }

この手順では、C1RadialMenu コントロールを追加しました。次の手順では、プロジェクトを実行して RadialMenu for UWP クイックスタートの結果を確認します。

関連トピック