shuhelohelo’s blog

Xamarin.Forms多めです.

MVVM

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (5) HttpClient

Asp.Net CoreでおなじみのAddHttpClientメソッドを使ってHttpClientを安全に正しく利用することができます. HttpClientの使用上の注意と使い方については以下の公式のガイドに詳しく書いてあります. docs.microsoft.com ここで説明されているとおり,HttpClie…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (4)

NavigationPageを使ったページ遷移をやってみようと思います. 変更するところはまず,Appクラスのコンストラクタです. 以下のようにNavigationPageをはさみます. public App(MainPage mainPage) { InitializeComponent(); MainPage = new NavigationPage(main…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (3)

これまで,Xamarin.FormsでAsp.Net CoreのDIの仕組みを利用する方法を書いてきました. shuhelohelo.hatenablog.com shuhelohelo.hatenablog.com 最後にまだDIできる余地が残されています. それがApp.xaml.csのAppクラスです. 現時点でAppクラスのコンストラク…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (2)

montemagno.com こちらの記事を試してみた2回目. 1回目はこちら. shuhelohelo.hatenablog.com 今回はプラットフォーム固有の機能をDIする場合についてです. プラットフォーム固有の機能(例えば通知機能)を使う場合,共有プロジェクト側でインターフェースを用…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (1)

montemagno.com こ,これは...! Xamarin.Forms以外のアプリケーションでも同様に使えそう. Microsoft.Extensions.Hostingをインストールする Nugetから. すべてのプロジェクトに. ビルトインのLoggingフレームワークと,jsonファイル形式(appsettings.json)の…

Xamarin.FormsでMvvmHelpersを使ってみる

channel9.msdn.com montemagno.com github.com MVVMフレームワーク色々 MVVMパターンでのアプリケーション開発をサポートするライブラリやフレームワークは色々あります. Prism ReactiveProperty MvvmCross ReactiveUI MVVMLite MVVMHelpers 他にもあると思…

listview内のitem内のイベントをbindingで扱う方法

https://blog.verslu.is/xamarin/xamarin-forms-xamarin/databinding-scope-in-xamarin-forms/?utm_source=rss&utm_medium=rss&utm_campaign=databinding-scope-in-xamarin-forms MVVMパターンでアプリケーションを作っている場合,イベントに対する処理をVie…

Prismを使ったXamarin.FormsプロジェクトでSqliteを使う

SqliteはDBをファイルとして扱うので,そのdbファイルを保存する必要があるのですが,この保存先はプラットフォームごとに異なります. プラットフォームごとの処理を呼び分けたいときは,以下の記事のとおり,IPlatformInitializerクラスを使う. blog.okazuki.jp…

これは下書きにもタグを登録するためのページです。

PrismでFeatureフォルダを追加してアプリケーションを構成する

mookiefumi.com 印象としては,ASP.NET CoreでいうところのArea機能に似たような感じなのかな. Prismで使いやすいようにConfigureViewModelLocatorに手を加えている. 具体的には以下のように機能ごとにフォルダを分ける方針. │ App.xaml │ App.xaml.cs │ └───…

Xamarin.FormsでINotifyPropertyChangedの実装方法メモ

qiita.com こちら↑の記事にとてもよくまとまっている. ここでは,基本的な実装の形をメモとして残す. public class Message : INotifyPropertyChanged { private string _text; public string Text { get => _text; set { _text = value; OnPropertyChanged(n…

ListViewの中でBindingContext内の他のプロパティをバインディングするには

docs.microsoft.com 例えば以下のように,ListView(CollectionView,CarouselViewなど)にバインディングするListとその他のプロパティがあるとします. public partial class MainPage : ContentPage { public int ImageWidth { get; set; } public int ImageHe…

DataBindingの注意点

プロパティの変更通知における基本をメモしておく. 例えば以下のプロパティがあったとする. private string _firstName; public string FirstName { get => _firstName; set { if(_firstName==value) { return; } _firstName = value; OnPropertyChanged(nam…

XamarinでCommandにパラメータを渡す

複数のボタンを同じCommandにバインディングし,どのボタンが押されたのかをパラメータで区別したいときがある. その場合はコマンドにCommand型のインスタンスを以下のようにして渡す. public ICommand SendMessageCommand { get; } public MainPageViewModel…

プロパティの変更通知でPropertyChangedEventArgsが大量に生成されるのが気になるときは

INortifyPropertyChangedを実装してプロパティの変更をView側に通知するには,変更された際にPropertyChangedEventArgsのインスタンスを生成してPropertyChangedEventHandlerの実行時にパラメータとして渡す必要がある. あるプロパティの更新が非常に頻繁だと…