nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Visual Studio and Development Technologies。なお掲載内容は個人の見解であり、所属する企業を代表するものではありません。

【Xamarin】Blue Monkeyプロジェクト Architecture Overview コメント入り掲載

【追記】
本エントリーは大幅に見直す予定です。現在検討中の内容は以下に公開しています。
Blue Monkey Architecture Overviewに対する訂正 - nuits.jp blog
【追記終了】

先日Infragisticsさんのイベント「Infragistics Day 2017 Spring」にて、現在進行形で進めているOSSプロジェクトBlue Monkeyの件でお話しさせていただいてきました。

jp.infragistics.com

またその時のスライドも掲載させていただいていますが、何分スライドだけ見ても全く分からない為、しゃべった内容を大まかにまとめて記載しておこうと思います。 見ただけで分かって、なおかつ聞いているときも見やすい資料って難しいですね。。。

という訳でよかったら見ていってください。

続きを読む

【解決済】引数渡しなし&マルチスレッドで、呼び出し元とオブジェクトを共有するいい方法

2017.02.19 追記:
本件は、以下のアドバイスで解決することができます。


AsyncLocalなんて追加されていたんですね。全く知りませんでした!
過去形じゃないのは、PrismのUnitTestプロジェクトがPCLでAsyncLocalが使えず、結局Prism依存の解決策を思いついたため、そちらを利用したためです。
直接の修正箇所は以下ですが、ちょっと分かりにくいですね。。。
https://github.com/PrismLibrary/Prism/pull/942/commits/d086e5db57685967591b0932108f5604eba5200d#diff-ee845c5f0d8ae25841a5335f0ca7b5a6

本件は、多くの方にアドバイス頂きました。
解決したこと以上に、その事が嬉しかったです。
みなさん、ありがとうございました!
追記終了

Prismの機能実装&不具合対応してるのですが、どうもイマイチうまくテストが書けないところがあって、私のC#力では限界に達しました。(まだ考えてはいるけど無理くさい。。。)
そんな訳で、どなたか良いアイディアがあったら支援欲しいなと思ってエントリー書いています。
端的に助けてほしいことを書くと
「該当のテストというコンテキスト内だけで、スレッド関係なく情報を共有する方法」
って無いかな?ってことです。
誰か僕とPrismを助けて〜!

続きを読む

Prismで、いつの間にかAutowireViewModelが不要になってた話

色々いじってて、おかしいおかしいと思ったらPrism for Xamarin.Forms 6.2.0のリリースノートの記述にこんな内容が

ViewModelLocator.AuowireViewModel is now done automatically. This is now an opt-out feature

https://github.com/PrismLibrary/Prism/wiki/Release-Notes-6.2.0

6.1.0までは、ViewModelをViewにバインドするのに、PageへAttachedPropertyとしてViewModelLocator.AutowireViewModel=“true"を設定してあげる必要があったのですが、現在はViewModelLocator.AutowireViewModel="false"を設定した時だけ、自動バインドされない仕様になっているようです。
知らんかったよ。てかItemsTemplate直した方がいいんじゃないのこれ。
ちゃんとリリースノートは読みましょうって事ですが今更びっくりした話でした。

今回はこれだけ。
それではまた!

Xamarin.FormsのPage遷移の詳細に迫る

なんかちょっと久しぶりに書いている気がします。
みなさん、いかがお過ごしでしょうか。私は諸々忙しくて辛いです。

今回はXamarin.Formsの画面遷移、正確には画面遷移スタックについて掘り下げてみたいと思います。
ここまで理解しておく必要があるケースというのは少ないでしょうけど、アプリケーションを設計する立場、アーキテクトであるという認識がある人は理解しておいてほしいなと思います。
なお、私はつい最近正しく理解しました。ハハハ。

さて、以下にXamarin.Formsの画面遷移スタックについての全てを図示しました。

f:id:nuitsjp:20170213114653p:plain

鋭い人はこれで理解出来ちゃったかもしれませんが、まぁそう言わず最後まで付き合って頂けると幸いです。

続きを読む