ぴーさんログ

だいたいXamarin.Formsのブログ

Xamarin.Forms

なぜXamarinから.NET 6+, MAUIへ移行しなければならないのか

Xamarin、およびXamarin.Formsのサポート終了期日(2024年5月1日)まで半年を切りました。 今回はなぜ移行が必要なのか、どんな作業が発生するのかといった事について書いていきます。 なお、本記事では.NET 6とそれ移行のバージョンについて.NET 6+と表記しま…

MAUI移行時のDependencyServiceの対処

Xamarin.FormsアプリをMAUIへ移行する際に遭遇した問題から一つ。 問題 DependencyService.Get<T>()でインタンスを取得できなくなる。 解決方法 型の登録方法を変更し、DependentyAttributeで自動登録する方法から、明示的な手動登録に変更する。 解説 MAUIへ移</t>…

Xamarin.Forms Material Visualのバグ修正しました

お仕事で踏んだXamarin.Formsのバグ修正をしました。 この記事を書いている時点でPR承認済みなのでそのうち取り込まれてリリースされると思います。 [Bug] iOS Material Renderers can cause NRE. · Issue #15669 · xamarin/Xamarin.Forms この問題はMateria…

Visual Studio 2017で作成したXamarin.FormsプロジェクトをVisual Studio 2015でビルドする

さて、現時点のVisual Studio 2017(ver. 15.6.5)でXamarin.Formsプロジェクトを新規作成すると結構新しくてイケイケなプロジェクトをはいてくれます。 packages.configファイルが無い 共通コードが.NET Standard 2.0(またはShared project) これをVisual Stu…

Xamarin.Forms VisualStateManager Support

Xamarin.Forms 3.0.0からVisualStateManager、およびVisualStateが追加されます。 VisualStateManager.GoToState()を呼ぶと対応するVisualStateのSetterが適用される機能です。 これにより、Viewの状態に対応する見た目を宣言的に扱うことが可能となります。…

Xamarin.Formsにコントリビュートしよう

先日、Xamarin.FormsのVisualSateManagerの解説を書いている途中で、バグを見つけて修正PRを投げました。 せっかくなのでどんな感じだったのか共有します。レッツ貢献! Xamarin.FormsのVisualStateManagerで規定のVisualStateを確認するサンプル。 pic.twit…

Xamarin.Forms CSS Support

Xamarin.Forms 3.0からCSS Supportが追加されます。(ASP .NET辺りの人たちにリーチしていく狙いらしい?) 一部制限はあるものの大体の機能がそのまま使えるようです、よってこの記事ではXamarin.Forms固有の事情を中心に説明します。 詳しく知りたい人は元の…

Xamarin.Forms.FlexLayout

いつの間にかXamarin.FormsのmasterブランチにFlexLayoutが生えていたので試してみました。 いつの間にかXamarin.Flexなるディレクトリが生えてるhttps://t.co/Gk1qspwOy9— ざまりん.ふぉーむずマン (@ticktackmobile) February 15, 2018 というかFlexLayout…

JXUGC #23 Xamarin 無料化一周年記念勉強会!で喋ってきました

2017/5/27(土)に開催されたJXUGC #23 Xamarin 無料化一周年記念勉強会!で喋ってきました。 Xamarin.formsで好き勝手に野良プラットフォーム from P3PPP Xamarin.Formsがさらにオープンになる変更がリリースノートでも特に言及される気配がないのでちょっと…

【Xamarin.Forms向け】ItemsSource BindablePropertyを追加するコードスニペット

BindableなItemsコントロールを作るときにコピペしてね。(ItemsViewを自分のコントロールに置換しよう)

【Xamarin.Forms 2.3.4-pre】ちゃんとBindableになったPicker

Xamarin.Forms 2.3.4-preでPickerがItemsSourceとItemSelectedをサポートするようになります。すっごーい! さっそくこんな感じのViewModelを用意してContentPageのBindingContextにセットします。 public class ViewModel : INotifyPropertyChanged { publi…

【Xamarin.Forms 2.3.4-pre】新しいOnPlatformメカニズム

Xamarin.Forms 2.3.4-preで新しいOnPlatformの仕組みが導入され、従来の物は非推奨となります。 概要 動作プラットフォームを文字列で判別するアプローチに変更(従来はenum) Xamarin.Formsがサポートしていないプラットフォームへの対応が容易に(Tizenとか) …

Xamarin.Forms.TabbedPageのiOS版でタブを上側に変更するサンプル

teratailで回答したやつ。 Xamarin - Xamarin.FormsのTabbedページのUIをiOSとAndroidで揃えたい(62739)|teratail スクショ stackoverflowの回答を参考にしています。 ios - Positioning UITabBar at the top - Stack Overflow Xamarin.iOS側のプロジェクト…

【Xamarin.Forms 2.3.3】 Platform Specifics

Xamarin.Forms 2.3.3で Platform Specifics という機能が追加されました。 これはPCLなどの共通コードからプラットフォーム固有の機能を呼び出したりする類のものです。(ただしコードビハインド限定) Forumでの紹介文によると... Introducing Platform Speci…

Xamarin.Forms.Tizenをハックして地図を表示してみる

この記事は Xamarin(その2) Advent Calendar 2016 20日目の記事です。 Xamarin.FormsにTizenが参戦!? Connect(); // 2016 のキーノートにて電撃的にXamarin.Forms.Tizenが発表され、一部界隈に衝撃を与えました。 衝撃を受ける様子 Tizen!?死んだはずで…

Xamarin入門者の集い supported by teratail に登壇してきました

2016年10月26日(水)にレバレジーズ株式会社にて開催された「Xamarin入門者の集い supported by teratail」にゲストスピーカーとして登壇してきました。 jxug.connpass.com ytabuchi.hatenablog.com 新しくXamarinを始めた人たちはXamarin.Formsから入ること…

【Xamarin.Forms】MasterDetailPageのMaster側を右寄せにするサンプル

Xamarin.FormsのMasterDetailPageのMaster部分(ドロワー?)を右寄せに改造するサンプルです。 Rendererとリフレクションを駆使して頑張ってます。AndroidとiOS(Phone)に対応。 GitHub - P3PPP/RightMasterDetailPageSample: Xamarin.FormsのMasterDetailPage…

【Xamarin.Forms】RelativeLayoutとConstraintのちょっと深い話

最近こんな質問に回答してました。 teratail.com という訳で今回は、RelativeLayoutの子要素にConstraintを再セットすることについて少し掘り下げます。 C#でRelaytiveLayoutにレアイアウト制約付きで子要素追加する際のコードはこんな感じです。 var label …

【Xamarin.Forms 2.3.3 -pre2】XAML内でのネイティブView定義とBindingのサポート

Xamarin.Forms 2.3.3 -pre2でXAML内でネイティブプラットフォーム(iOS、Android、UWP)のコントロールを配置できるようになります。 これはXamarin.Forms 2.2で追加されたNative Embeddingという機能の発展系であると言えます。 ticktack.hatenablog.jp Nativ…

【Xamarin.Forms】XAMLでViewの縦横比を一定に保つ

teratail.com Teratailの"Xamarin Studioで幅は画面と同じ大きさ、高さが画面の幅に対して50%のViewを作りたい"(iOS)という質問に回答した時に、Aspect RatioのConstraint便利だなーと思ったのでXamarin.Formsでも同じようなことをやってみましょう。 C#でイ…

JXUGC #16 Xamarin.Forms Custom Renderer ハンズオン を開催してきました

さる2016/8/10、渋谷のdots.さん会場にて「JXUGC #16 Xamarin.Forms Custom Renderer ハンズオン」というイベントをやってきました。先生役で。 Twitterの反応を見る限り、おおむね好評だったようで何よりです。 イベントページ JXUGC #16 Xamarin.Forms Cus…

【Xamarin.Forms】ViewRendererと仲良くなるための簡易チュートリアル

この記事はXamarin.Formsの標準コントロールだけでは対応しきれなくなった時、ViewRendererを駆使した独自コントロールで乗り越えるためのチュートリアルです。 目次 Xamarin.Formsコントロールの仕組み 独自のコントロールを作る Binding可能なプロパティで…

【修正版リリース済み】Xamarin.Forms 2.2.0.43を使うとiOSで死ぬっぽい

※本件の修正版(Xamarin.Forms 2.2.0.45)がリリース済みです。そちらを使えば問題ありません。 フォーラムでのアナウンスによると... Thanks for all of your reports. There was a problem with the build/packaging. The issues are now fixed. Please upda…

Realm Xamarinを試してみた

5/10にRealmのXamarin対応版が公開されたので試してみました。 Realm Xamarinを公開! - Realm is a mobile database: a replacement for SQLite & Core Data RealmはSQLiteやCoreDataから置き換わることを目標とするモバイルデータベースです。 Realm Xamar…

JXUGC #13 東京でLTしてきました

2016/5/7(土)に開催された「JXUGC #13 東京 緊急開催 Xamarin のすべて!」でLTしてきました。 イベントページ(connpass) 資料や動画 togetter Xamarin.Formsでアプリを公開した話 from P3PPP 今回のJXUGカンファレンスは参加人数がとても多く(約150人の定員…

【Xamarin.Forms 2.3プレビュー】Xamarin.Forms Themesを触ってみた

Evelve 2016で紹介されたXamarin.Forms Themesが(ようやく)NuGetに配信されました。 中身のdllを見る限り、現時点ではiOS、Androidのみ対応しているようですね。 早速試した方がいらっしゃいます! Xamarinメモ その18 Xamarin.Forms.ThemesをPrism.Unity.Fo…

Xamarin.Formsでプラットフォーム固有実装を扱う手段が増えてきたので整理してみる

Xamarin.Formsのリリースから約2年、当初よりもプラットフォームごとのカスタマイズ手段が増えてきたので、ここでちょっと整理してみようと思います。 目次 他に忘れてる物があったら教えてください。 OnPlatform (XF 1.0 ~) DependecyService (XF 1.0 ~) …

【Xamarin.Forms 2.2】Embedded Platform-Specific Controls in Xamarin.Forms

Xamarin.Forms 2.2から Layout.Children や ContentView.Content に各プラットフォームのネイティブコントロールを埋め込めるようになり、Evolve 2016のキーノートでも紹介されました。 このフィーチャーを使うとCustomRendererよりもカジュアルにネイティブ…

【Xamarin.Forms 2.3プレビュー】Xamarin.Forms Themesを試そうとしたらまだ使えなかったので代わりにMerged Dictionaryの解説する

この記事はThemesの話のようでありながら、その実Xamarin.Forms版Merged Dictionaryの話です。 Xamarin.Forms Themes はEvolve 2016のキーノートで紹介された新機能の1つ、その目標は「デフォルトで美しいUIを提供すること」です。 Live from Evolve: Faster…

【Evolve 2016】Xamarin.Forms Previewerを試してみた!

Xamarin Evolve 2016のキーノートで遂に来ました! 念願のXAMLプレビューが!Xamarin.Formsに! 呼称は Xamarin.Forms Previewer だそうです。 というわけで早速試してみた様子がこちら XAML Previewer動いたよん❤️ pic.twitter.com/Qtx9V7CKO1— Xamarin.For…