しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Xamarin

Xamarin でコードビハインド、ViewModel を使わずに GestureRecognizer に反応させたい

Xamarin.Forms のコントロールは Tapped イベントすら持ってないので、Trigger でインタラクションを記述することがまだ難しいです; なので Tapped のジェスチャに反応する機能を拡張する GestureRecognizer を利用してコントロールを作ってみたいと思いま…

Xamarin.Forms で Trigger に反応するコントロールを作りたい

せっかく Xamarin.Forms 1.3.0 から Styles と Triggers が追加されたので、どこまでできるかカスタムコントロールを作ろうと思います! まずは初歩的なところからタップに反応して外観が変化するコントロールに挑戦

Xamarin を 1.3 以上に更新したら前回のコードが動かなくなった!

詳しくは P3PPP さんの下記の Qiita 記事で紹介されていますが、ついに Xamarin にも Style や Trigger などが追加されたようですね! ちょっと未来のXamarin.Formsを試す(1.3.0 Technology Preview) - Qiita さっそく Xamarin.Forms を Nuget で更新して上…

続・Xamarin でプラットフォームごとに別ファイルでリソースを XAML 定義したい

前回の投稿 ではプラットフォームごとに別 XAML ファイルでリソースを定義してみましたが、まだ生ぬるい! 共通コードの中でプラットフォームの分岐処理が含まれてしまっていたのでこれを排除しようと思います 今回改修するクラスは上記の青網掛けの部分

Xamarin でプラットフォームごとに別ファイルでリソースを XAML 定義したい

年末の Xamarin × ResourceDictionary でプラットフォームごとに配色を変えたい の続きです 前回は App.xaml に ResourceDictionary を追加し、 タグでプラットフォームごとのリソースを定義していましたが、この書き方だと見づらいし修正も煩雑になりやすい…

Xamarin × ResourceDictionary でプラットフォームごとに配色を変えたい

インフルエンザにかかってしまいまだ体調が本調子ではないですが、タイトルの通り DI コンテナではなく今度は ResourceDictionary で配色を切り替えてみたいと思います

Unity のプロパティ注入だけでプラットフォームごとに Xamarin アプリの配色を切り替える

Xamarin でプラットフォームごとに配色を切り替える場合、一般には下記のような XAML を記述すると思います <OnPlatform x:Key="SecondHandColor" x:TypeArguments="Color" iOS="Red" Android="Aqua" WinPhone="#80FF80" /> ただ、こうしてしまうと共通コードに各プラットフォームごとの分岐処理を記述するのと同様なので、後で特定のプラットフォームだけの修正をしよう</onplatform>…

Xamarin.iOS の Anchor プロパティが正しく解釈されない件

すでにわんくまとか Qiita で公開しちゃってるのでバレバレですが、Xamarin の BoxView のアナログ時計サンプル を XAML × MVVM に移植しようとしてハマったのが、Xamarin.iOS だけ AnchorX や AnchorY が正しく解釈されない問題です;

Xamarin で ViewModel から画面状態の変化を検知する

本来なら MVPVM で Presenter から View のイベントハンドラを設定したいところですが、あえて MVVM で、ViewModel から検知したいと思います 本家 XAML であればきっと EventToCommand みたいな Behavior を利用して検知するんでしょうが、今回は別の方法で…

Xamarin で ItemsControl 風 AbsoluteLayout

Xamarin には ViewModel のリストを UI に表示するコントロールは ListView と TableView しか用意されてません 本家 XAML では Canvas 内に ItemsControl を配置して ViewModel の内容に応じて任意の絶対座標に UI を表示するといったことが簡単にできるの…

わんくま勉強会の発表資料

先日のわんくま同盟 勉強会 東京#93 で利用した発表資料を共有します! http://www.slideshare.net/tatsujkuroyanagi/xamarin-unity http://www.slideshare.net/tatsujkuroyanagi/xamarin-unity Unity を使いこなせるようになりたいです

Xamarin Advent Calendar 2014 書きました!

タイトルの通り、第 6 日目として Xamarin × Unity の話を書きました! Xamarin の救世主 Unity! - Qiita Xamarin の救世主 Unity! - Qiita 続きは Qiita で!

Unity で Xamarin の UnitTest コードをすんなりかけるようにする

Xamarin のクラスを特に意識せずに実装してしまうと、UnitTest コードの記述が非常に困難になることがあります 例えばこんな ViewModel を書いてしまうと大変 /// <summary> /// 最初の画面の ViewModel /// </summary> public class TopPageViewModel : ViewModelBase { #regio…

Xamarin.Forms の Image に string の画像ファイルのローカルパスをデータバインディングする

WIndows ストアアプリなどの XAML では、下記のような感じで Image コントロールに対して直接画像ファイルのローカルパスをデータバインディングすることができます <Image Source="{Binding ImageUri}"/> この場合の ImageUri は次のような string による指定でも大丈夫です public class TopPag</image>…

Xamarin.Forms が Prism の DelegateCommand.CanExecuteChanged を検知しない

Xamarin.Forms の Button に Command をバインドして、アクティブ/非アクティブを制御する場合、次のようなコードになると思います #region RemoveCommand /// <summary> /// 削除コマンド /// </summary> private ICommand removeCommand; /// <summary> /// 削除コマンド の取得 /// </summary> p…

先日のデモアプリで戻り遷移時に OnNavigateTo メソッドが呼ばれない件

11/22 の最後のセッションで Windows Phone で戻り遷移をしても OnNavigateTo メソッドが呼ばれませんでした これは NavigationService の単純な実装ミスでした; /// <summary> /// 戻る遷移 /// </summary> public async Task GoBack() { await RootPage.PopAsync(); var hist…

JXUGC #2 東日本編のセッションの補足

先日の JXUGC 第二回 東日本編でのセッション資料は下記に公開していますので共有します! Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~ from Tatsuji Kuroyanagi Xamarin で Prism を使いたい! ~「正式対応」…

12/6 わんくま同盟勉強会に出ます

一向に解消しないスピーカー不足のため、10 月に続き 12 月 6 日のわんくま同盟勉強会でも登壇することになりました &lt;a href="http://www.wankuma.com/seminar/20141206tokyo93/" data-mce-href="http://www.wankuma.com/seminar/20141206tokyo93/"&gt;わ…

Xamarin で Prism EventAggregator を使って Suspending 時の処理をする

前回の投稿 でとりあえず各プラットフォームでのバックグラウンド遷移の通知の仕方がわかったので、Xamarin.Forms の画面側に Suspending が通知されるようにしたいと思います 普通に App クラスにイベントハンドラを追加してもよいですが、せっかくなのでイ…

Xamarin で Prism の Suspending っぽいイベントを検知したい

スマホアプリの場合、PC よりも少ないリソースで動作するためアプリの状態遷移を考慮した設計が欠かせません 特にリソース不足で OS から強制的に終了する場合に備えてアプリの状態やデータを保存しておき、再起動された際に復帰させるという対応は重要だと…

Xamarin で Prism 風に戻る遷移の際も遷移パラメータを参照できるようにする

Xamarin の画面遷移でも Prism のようにセッション情報を保持するようにしようかとも思ったんですが、どうやらそんなことをしてもメリットがなさそうなのでやめました; iOS も Windows Phone 8.0 もプラットフォームとしては画面遷移時に View もデータも丸…

Xamarin.Forms で Prism 風のパラメータつき画面遷移をつくる

Xamarin.Forms の画面遷移は NavigationPage による構築が基本らしく、NavigationPage.SetHasNavigationBar のメソッドでナビバーの表示有無を制御できるようです なので、NavigationPage を利用して Xamarin で Prism 風のパラメータつき画面遷移を行う実装…

Xamarin.Forms の画面遷移は NavigationPage 必須?!

とりあえず MVVM 基盤が整ってきたので次は画面遷移を何とかしたい できる限り Xamarin.Forms でがんばりたいので、Xamarin.Forms の Navigation について調べてみると VisualElement.Navigation というプロパティが用意されていました Push や Pop などのメ…

Xamarin で Prism と UnityContainer を使ってみる

少し前の投稿 で DI コンテナ *1 である Unity のプレリリース版が Xamarin 対応していることをご紹介しました(ゲーム開発の方じゃないです;) Prism との相性もよいので今度はこの Unity を Xamarin で使ってみようと思います *1:Dependecy Injection Con…

Xamarin.iOS で ViewModelLocator を使ってみる

前回 作成した Xamarin.Forms 用 ViewModelLocator をさっそく使ってみます

Xamarin.Forms で使える ViewModelLocator

前回の投稿 で Prism の Xamarin 用 MVVM 基盤の拡張に光が見えたので、さっそく作ってみます

Prism の MVVM 基盤を Xamarin に移植したい

すでに ATND に登録されているのでご存知の方もいらっしゃるかもしれませんが、来たる 11/22(土)第二回 JXUG Conference にて登壇することになりました; 第2回 Japan Xamarin User Group Conference 東日本編 : ATND 第2回 Japan Xamarin User Group Conf…

Xamarin.iOS で画面の回転を検知する

すでに GitHub にアップしているソースには含まれているのですが、Xamarin.iOS で画面の回転を検知する方法を紹介します moonmile さんがすでに XamarinでAndroid/iOS/Windowsストアの回転に対応する | Moonmile Solutions Blog の記事の中でこの手の実装方…

わんくま勉強会の発表資料

参加された方、おつかれさまでした! 下記に利用した発表資料はアップしていますのでご参考ください! かけ算で使いこなす Xamarin from Tatsuji Kuroyanagi

Xamarin 版 SimpleTimer のソースをアップ

明日の勉強会でも利用する予定の Xamarin 版 SimpleTimer のソースを下記にアップしました matatabi-ux/XamarinTimer matatabi-ux/XamarinTimer · GitHub ライブタイルまでは考えられなかった・・・いつかは各プラットフォームでどうするか考えてみたいですね