RichTextBox for UWP
手順3:一般的なアプリケーションコードの追加
チュートリアル > AppBar アプリケーションの作成 > 手順3:一般的なアプリケーションコードの追加

この手順では、いくつかの AppBar 項目を作成するコードと、C1RichTextBox コントロールのイベントを処理するコードを追加します。

  1. MainPage.xaml を再度開き、ページを右クリックします。コンテキストメニューから[コードの表示]を選択します。
  2. 次の using 文をページの先頭に追加します。

    C# コードの書き方

    C#
    コードのコピー
    using C1.Xaml;
    using C1.Xaml.RichTextBox;
    using C1.Xaml.RichTextBox.Documents;
    using System.Reflection;
    using Windows.UI.Text;
    using Windows.UI;
    using Windows.UI.Popups;
    
  3. InitializeComponent() メソッドのすぐ下に、InitMorePopup() メソッドを追加します。
    C#
    コードのコピー
    this.InitMorePopup();
  4. 次に、C1RichTextBox コントロールを8つの C1 ツールで更新するためのコードを追加します。

    C# コードの書き方

    C#
    コードのコピー
    btnBold.RichTextBox = rtb;
    btnItalic.RichTextBox = rtb;
    btnUnderline.RichTextBox = rtb;
    btnIncreaseFontSize.RichTextBox = rtb;
    btnDecreaseFontSize.RichTextBox = rtb;
    btnLeftAlign.RichTextBox = rtb;
    btnCenterAlign.RichTextBox = rtb;
    btnRightAlign.RichTextBox = rtb;
    
  5. ここで、コンテンツリソースをロードするコードを追加します。コードの "YourApplicationName.Resources.simple.htm": の箇所には、実際のアプリケーション名を挿入することを忘れないでください。

    C# コードの書き方

    C#
    コードのコピー
    Assembly asm = typeof(MainPage).GetTypeInfo().Assembly;
    Stream stream = asm.GetManifestResourceStream("YourApplicationName.Resources.simple.htm");
    var html = new StreamReader(stream).ReadToEnd();
    rtb.Html = html;
    
  6. 最後に、RequestNavigate イベントのイベントハンドラを追加します。

    C# コードの書き方

    C#
    コードのコピー
    private async void rtb_RequestNavigate(object sender, RequestNavigateEventArgs e)
            {
                var md = new MessageDialog("The document is requesting to navigate to " + e.Hyperlink.NavigateUri, "Navigate");
     
                md.Commands.Add(new UICommand("OK", (UICommandInvokedHandler) =>
                {
                    Windows.System.Launcher.LaunchUriAsync(e.Hyperlink.NavigateUri);
                }));
     
                md.Commands.Add(new UICommand("Cancel", (UICommandInvokedHandler) =>
                {
                    rtb.Select(e.Hyperlink.ContentStart.TextOffset, e.Hyperlink.ContentRange.Text.Length);
                }));
     
                await md.ShowAsync();
    

この手順では、C1RichTextBox イベントを処理するコードと、AppBar で使用するいくつかの C1 ツールを作成するコードを追加しました。次の手順では、下部の AppBar のコードを追加します。