Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

Xamarin.Forms の Dependency Services で ViewController と Activity を取得するには

こんにちは。

ちょうどタイムリーにお答えしたので、メモ書きとして残しておきます。

teratail.com

Dependency Services を使用すると、iOSAndroid のコード上で Xamarin.Forms を呼び出している iOSAndroid の Activity、ViewController のインスタンスを参照する必要に駆られることがあります。例えばダイアログ表示。

iOS だとこんな感じ

gist.github.com

Android だとこんな感じ

gist.github.com

ですね。Xamarin.Forms で Dependency Services を使った場合、UIViewController や thisActivity にどのようにアクセスすればよいのでしょうか。

Stackoverflow か Xamarin Forum か忘れてしまいましたが、どなたかが回答をされていました。感謝。

iOS の場合は

UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(alert, true, null);

Android の場合は

Xamarin.Forms.Forms.Context

でアクセスできます。

以上です。

Xamarin 気になった方は

Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 学習用リソースJXUG リンクページ に参考資料を纏めてますので併せてどうぞ。

Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)

Xamarin 有償トレーニング : XLsoft エクセルソフト

Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。

私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。

以上です。

エクセルソフト | ダウンロード | 学習用リソース | JXUG リンクページ | ブログ購読