情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Windows Phone 8 のウォレット項目の追加タスクを使用する方法

2014/06/18

対象: Windows Phone 8 および Windows Phone Silverlight 8.1 のみ

ウォレット項目の追加タスクを使用してウォレット アプリケーションを起動すると、ユーザーは指定した項目を自分のウォレットに追加できます。ユーザーがタスクを完了すると、イベントが発生し、イベント ハンドラーは項目がウォレットに正常に追加されたかどうかを示す TaskResult 値を受け取ります。これはアプリで PaymentInstrument または WalletTransactionItem を追加する唯一の方法です。Dealを追加するには、SaveAsync メソッドを使用します。ウォレットを使用するアプリケーションの作成方法の詳細については、「Windows Phone 8 のウォレット」を参照してください。

セレクターを使用することによって、Windows Phone プラットフォーム全体で一貫性のあるユーザー エクスペリエンスを提供できます。詳細については、「Windows Phone 8 のランチャーとセレクター」を参照してください。

ウォレット項目の追加タスクを使用するには

  1. 次のステートメントをコードに追加します。

    
    Imports Microsoft.Phone.Tasks
    
    
    
    
    Imports Microsoft.Phone.Wallet
    Imports System.Windows.Media.Imaging
    
    
    
  2. タスク オブジェクトを宣言します。ページ スコープが必要であるため、ページ内でコンストラクターの前に宣言します。

    
    Dim addWalletItemTask As AddWalletItemTask = New AddWalletItemTask()
    
    
    
  3. 次のコードをページ コンストラクターに追加します。このコードはタスク オブジェクトを初期化し、ユーザーがタスクを完了した後に実行するメソッドを識別します。

    
    AddHandler addWalletItemTask.Completed, AddressOf addWalletItemTask_Completed
    
    
    
  4. WalletItem から継承するサポートされているオブジェクトの 1 つをインスタンス化し、AddWalletItemTask オブジェクトの Item プロパティを設定します。このセレクターの場合は、PaymentInstrument オブジェクトと WalletTransactionItem オブジェクトのみがサポートされています。AddWalletItemTask.Show を呼び出す前に次のプロパティを設定する必要があります。そうしないと、InvalidOperationException がスローされます。

    ボタンのクリック イベントなど、アプリケーションの必要な場所に次のコードを追加します。この手順をテストするには、ページのコンストラクターにこのコードを配置します。これはタスクを起動するコードです。

    
    
    
            Dim card As PaymentInstrument = New PaymentInstrument("FabrikamBankCard")
            card.DisplayName = "Fabrikam Bank"
            card.CustomerName = "Chris Preston"
            card.ExpirationDate = New DateTime(2014, 12, 15)
            card.PaymentInstrumentKinds = PaymentInstrumentKinds.CreditAndDebit
    
            Dim bmp As BitmapImage = New BitmapImage(New Uri("/images/BrandImageSmall.png", UriKind.RelativeOrAbsolute))
            bmp.CreateOptions = BitmapCreateOptions.None
            card.Logo99x99 = bmp
    
            bmp = New BitmapImage(New Uri("/images/BrandImageMedium.png", UriKind.RelativeOrAbsolute))
            bmp.CreateOptions = BitmapCreateOptions.None
            card.Logo159x159 = bmp
    
            bmp = New BitmapImage(New Uri("/images/BrandImageLarge.png", UriKind.RelativeOrAbsolute))
            bmp.CreateOptions = BitmapCreateOptions.None
            card.Logo336x336 = bmp
    
            card.Logo99x99 = New BitmapImage(New Uri("/images/BrandImageSmall.png", UriKind.RelativeOrAbsolute))
            card.Logo159x159 = New BitmapImage(New Uri("/images/BrandImageMedium.png", UriKind.RelativeOrAbsolute))
            card.Logo336x336 = New BitmapImage(New Uri("/images/BrandImageLarge.png", UriKind.RelativeOrAbsolute))
    
            addWalletItemTask.Item = card
    
            addWalletItemTask.Show()
    
    
    
    
  5. 完了したイベント ハンドラーのコードをページに追加します。このコードは、ユーザーがタスクを完了した後に実行されます。結果は、連絡先の名前とアドレスを含む AddWalletItemResult オブジェクトです。

    
    void addWalletItemTask_Completed(object sender, AddWalletItemResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            MessageBox.Show(e.Item.Id + " was added to your Wallet");
        } 
    }
    
    
    

表示: