こんにちは。エクセルソフトの田淵です。
@amay077 さんに public Command(Action execute, Func<bool> canExecute); を教えていただいた!!!!!Tポイント!!! #JXUG
— 田淵 義人@エクセルソフト (@ytabuchi) 2016年7月9日
@amay077 さんに Xamarin.Forms の Command の第2引数に Func<bool> canExecute
を渡すことで Command の実行可否を伝えられるよ。と教えていただきました。どういう風に使うのかな?と思っていたら、
@nuits_jp さんが凄く詳しい記事を書いてくださった…!涙 前回のStopwatchの時もそうだし、これはなんらかを奢らなければいけないヤツや!w
ということで、勉強を兼ねて Prism ではなく Xamarin.Forms で Command の Func<bool> canExecure
を試してみました。
Prism の DelegateCommand
のシンプル版が Xamarin.Forms.Command です。
Command.ChangeCanExecute()
が Prism の Command.RaiseCanExecuteChanged()
メソッドと同じやつです。@qwerty2501 さん、ありがとうございます。無い!>< と思ってましたw
@nuits_jp @ytabuchi
— クワーティ (@qwerty2501) 2016年7月10日
>>田淵さん
Xamarin.Forms.CommandでRaiseCanExecuteChanged相当のことやりたい場合はChangeCanExecuteで同じことできるんじゃないですかね。試してないですが。
書き方はほとんど同じですね。
使えて嬉しかったので、Xamarin ハンズオンの Phoneword を MVVM で作りなおしてみました。別エントリーでアップします。
Xamarin 気になった方は
是非 ダウンロード して触ってみてください。Visual Studio 2015 をご利用の方は Update 2 にアップデートする際にカスタムインストールで Xamarin を追加しましょう。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。
私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。おなじみの ReSharper (JetBrains)、 や Atlassian の JIRA, Confluence、Office/PDF ファイルを .NET/Java で操作するライブラリ Aspose(アスポーズ)、Windows アプリ、Web ページ、iOS/Android アプリの UI テストができる TestComplete などお勧めです(^^) また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば 弊社ページ を覗いてみてください。
以上です。