次の方法で共有


チュートリアル: Unified Service Desk のカスタムのホストされたコントロールの作成

 

公開日: 2016年11月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2013、Dynamics CRM 2015、Dynamics CRM 2016

このトピックでは、ユーザー定義アクションを備えた、ユーザー定義のホストされたコントロール My Custom Control を作成する方法を説明します。 ユーザー定義によるホストされたコントロールには Windows Presentation Foundation (WPF) コントロールが 2 つあります。1 つは、Debugger のホストされたコントロールを呼び出すボタンで、もう 1 つは、ユーザー定義アクション MyCustomAction が呼び出されたときにユーザー名を表示するテキスト ラベルです。

このセクションの内容

前提条件

ユーザー定義のホストされたコントロールの作成

カスタムのホストされたコントロールのテスト

前提条件

  • Microsoft .NET Framework 4.5.2

  • Unified Service Desk クライアント アプリケーション - ホストされたコントロールをテストするために必要。

  • Microsoft Visual Studio 2012、Visual Studio 2013 または Visual Studio 2015

  • Visual Studio 2012Visual Studio 2013Visual Studio 2015 用の NuGet Package Manager

  • ユーザー定義のホストされたコントロールのプロジェクト テンプレートを含む Visual Studio 用 Microsoft Dynamics 365 SDK テンプレート。 次のいずれかの方法で取得できます。

ユーザー定義のホストされたコントロールの作成

  1. Visual Studioを起動し、新しいプロジェクトを作成します。

  2. 新しいプロジェクト ダイアログ ボックスで以下を実行します。

    1. インストールされているテンプレートの一覧から、[Visual C#] を展開し、[Dynamics 365 SDK のテンプレート] > [Unified Service Desk] > [USD のユーザー定義のホストされたコントロール] を選択します。

    2. .NET Framework 4.5.2 が選択されていることを確認します。

    3. プロジェクトの場所と名前を指定し、[OK] をクリックして新しいプロジェクトを作成します。

    ユーザー定義でホストされたコントロールを作成するためのテンプレート

  3. [ソリューション エクスプローラ] で、USDControl.xaml ファイルをダブルクリックして XAML デザイナーを起動します。

  4. このデザイナーで、[ツールボックス] から次のコントロールを追加します。

    • [ラベル]: [プロパティ] ウィンドウで、コントロールの名前を myLabel に設定します。

    • [ボタン]: [プロパティ] ウィンドウで、コントロールの名前を myButton に、コンテンツを [デバッガーの起動] に設定します。

    これが、コントロールを XAML デザイナーに表示する方法です。

    カスタム コントロール を使用する XAML デザイナー

  5. このボタンをダブルクリックすると、XAML の背後でコードが追加されます。 これにより、USDControl.xaml.cs ファイルでの myButton のクリック イベントの定義に移動します。 次のコマンドを追加します。

    private void myButton_Click(object sender, RoutedEventArgs e)
    {
        if (!this.desktopAccess.AppExistsInUI("Debugger"))
        {
            this.desktopAccess.CreateDynamicApplication("Debugger");
        }
        this.FireRequestAction(new Microsoft.Uii.Csr.RequestActionEventArgs("Debugger", "default", null));
    }
    
  6. ホストされたコントロールのユーザー定義アクションを定義します。USDControl.xaml.cs ファイルで、DoAction のオーバーライド定義を参照します。

    protected override void DoAction(Microsoft.Uii.Csr.RequestActionEventArgs args)
    
  7. DoAction のオーバーライド定義に次のコードを追加して、MyCustomAction と呼ばれるとユーザー定義アクションを定義します。このアクションは、username という名前のパラメーターを受け取ります。

    if (args.Action.Equals("MyCustomAction", StringComparison.OrdinalIgnoreCase))
    {
        List<KeyValuePair<string, string>> actionDataList = Utility.SplitLines(args.Data, CurrentContext, localSession);
        string valueIwant = Utility.GetAndRemoveParameter(actionDataList, "username"); // assume there is a myKey=<value> in the data.
    
        if (!string.IsNullOrEmpty(valueIwant))
        {
            this.Dispatcher.Invoke(() => { this.myLabel.Content = valueIwant; });
        }
    }
    

    ヒント

    このテンプレートは、DoAction のオーバーライド定義内でコードの大部分をコメントとして提供し、作成をすぐ開始できるように支援します。 必要なコード行のコメントを解除し、プレース ホルダーの値を自分の値に置き換える必要があります。

  8. プロジェクトを保存し、ビルドし ([ビルド] > [ソリューションのビルド])、正常にビルドされたかどうかチェックします。

カスタムのホストされたコントロールのテスト

プロジェクトのビルドが完了したら、ユーザー定義のホストされたコントロールをテストします。 テストは 2 つの部分から構成されます。1 つは、サーバー上でユーザー定義のホストされたコントロールを定義することであり、もう 1 つは、クライアント アプリケーションを使用してサーバー上の Unified Service Desk に接続することです。

Dynamics 365 サーバー上でのユーザー定義のホストされたコントロールとアクションの定義

  1. Microsoft Dynamics 365 にサインインします。

  2. ナビゲーション バーで、[Microsoft Dynamics 365] を選択し、[設定] を選択します。

  3. [設定] > [Unified Service Desk] > [ホストされたコントロール] を選択します。

  4. [新規] を選択し、次に [新しいホストされたコントロールを] 画面で次のように値を指定します。

    新しいユーザー定義のホストされたコントロール

    注意

    [アセンブリ URI] はアセンブリ名で、[アセンブリの種類] は後ろにドット (.) が付いたアセンブリ (dll) の名前です。 それから Visual Studio プロジェクト内のクラス名。 この例では、アセンブリの名前は [MyCustomControl]、クラスの名前は USDControl です。このクラス名は、カスタムのホストされたコントロールが作成されるときの既定のクラス名です。

  5. [保存] を選択して、ホストされたコントロールを作成します。

  6. Visual Studio で定義したホストされたコントロールのアクションを作成します。 ナビゲーション バーで、ホストされたコントロールの名前のとなりの下矢印を選択し、[UII アクション] を選択します。

  7. [新しい UII アクションの追加] をクリックします。

  8. [MyCustomAction][名前] フィールドに入力し、[保存] を選択します。

これで、Dynamics 365 サーバー上での、ユーザー定義のホストされたコントロールとユーザー定義アクションの構成が完了しました。

Unified Service Desk クライアントを実行し、カスタムのホストされたコントロールを使用する

  1. Visual Studio プロジェクトの出力フォルダー (<ProjectFolder>\bin\debug) から、Unified Service Desk アプリケーション ディレクトリに、自分のユーザー定義のホストされたコントロール定義を含むアセンブリをコピーします。 この場合は、MyCustomControl.dll ファイルを c:\Program Files\Microsoft Dynamics CRM USD\USD ディレクトリにコピーします。

  2. Unified Service Desk クライアントを実行し、Dynamics 365 サーバーに接続します。

  3. サインインに成功すると、デスクトップに、ユーザー定義のホストされたコントロール [My Custom Hosted Control] が表示されます。

    ユーザー定義でホストされたコントロール

  4. [デバッガーの起動] をクリックし、デバッガーにホストされたコントロールを起動します。

  5. ユーザー定義アクションをテストするには、[デバッガー] タブを選択し、次に [アクション呼び出し] タブの上にある下矢印をクリックして、アクション呼び出しおよび UII アクションをテストできる領域を表示します。

    Expanded testing area in debugger

  6. [直接アクション] タブを選択します。

  7. [ホストされたコントロール] リストから、[My Custom Hosted Control] を選択し、[アクション] リストから [MyCustomAction] を選択します。

  8. このユーザー定義アクションの定義に従って、このアクション呼び出しはパラメーター username を待つので、[データ] フィールドに [username=Tracie Hamilton] を追加します。

    カスタムのホストされたコントロールのテスト

  9. [直接のアクションを実行] アイコン (USD のデバッガ実行アクション コール ボタン) をクリックし、次に [My Custom Hosted Control] タブをクリックします。 [ラベル] フィールドに、指定したユーザー名が表示されます。

    ユーザー名を表示する [My Custom Host Control] タブ

関連項目

USD のホストされたコントロール (ホストされたコントロール)
ホストされたコントロールの種類とアクション/イベント リファレンス
統合サービス デスクの構成チュートリアル
Unified Service Desk のカスタムのホストされたコントロールの使用

Unified Service Desk 2.0

© 2017 Microsoft. All rights reserved. 著作権