Comment(本エントリーの下部に補足、訂正がございますので、そちらもご確認ください)Windows8のMetroStyleAppでは、以前に紹介したFileOpenPickerクラスなどのようにOSの機能を利用して様々な処理を行うことができます。これらの機能をコントラクトと呼びます。コントラクトのアクティベーションを行う今回はWindows8のCharmを利用して検索文字列をアプリ側で取得する方法を紹介します。Charmアプリの検索などランチャー的に利用できるCharmの検索ですが、アプリ側でもこれを利用することができます。逆に言うとWindows8ではアプリ側で検索フォームなどを配置せずにCharmを使うのがユーザビリティを高めそうですね。Charmの検索をアプリ側で利用するにはPackage.appxmanifestに宣言を追加します。続いてコードビハインドに以下のようなコードを記述します。}アプリ起動後に[Windowsキー]+[C]でCharmを起動。検索フォームから検索すると・・・アプリ側で検索ワードを取得できた!!WindowsPhoneにも同様にChooserやTaskというOSの機能を利用するAPIがありましたね。OSの機能を利用する方法をしっかり学んで効率よく開発していきたいものです。補足&訂正コメントにて指摘を受けました。青柳様ありがとうございます!!ちょっとコントラクトのことを勘違いしてませんか?コントラクトってのは文字通り「契約」のことで、検索コントラクトを追加するってことは「自分は検索に対応している」と表明することになります。このアプリを一度インストールすると、アプリを起動して無くてもチャームの検索で自分のアプリを指定されると自動的に起動されるようになります。されたときは検索ビューを表示するようにちゃんと対応させとかなくちゃいけません。追加してくれたりと必要なことを一通りやってくれます。審査に通らなくなっちゃうと思うのでこのあたりはちゃんとしておいた方がいいんじゃないかと思います。すみません、勘違い&しっかり理解しておりませんでした。検索コントラクトをアプリ側から宣言する場合、OSの機能を利用するというだけでなく、しっかり検索として機能する必要があるということを念頭に置かないといけないようです。おーっ検索窓の情報を取れたーと喜んでいましたが、宣言と同時に契約として責務を果たさないとアプリの審査にひっかかる恐れがあるということでした。AMちょっとコントラクトのことを勘違いしてませんか?コントラクトってのは文字通り「契約」のことで、検索コントラクトを追加するってことは「自分は検索に対応している」と表明することになります。このアプリを一度インストールすると、アプリを起動して無くてもチャームの検索で自分のアプリを指定されると自動的に起動されるようになります。されたときは検索ビューを表示するようにちゃんと対応させとかなくちゃいけません。追加してくれたりと必要なことを一通りやってくれます。審査に通らなくなっちゃうと思うのでこのあたりはちゃんとしておいた方がいいんじゃないかと思います。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目ですCommentName*Email*Website古代魚庵という屋号でフリーランスのプログラマー兼ライター業をやっています。