AndroidにおいてViewをBindする方法はいくつかあります。 今回は、その手法の紹介および比較をしたいと思います。 この比較の話はGoogle I/O 2019で紹介されていたものです。 https://www.youtube.com/watch?v=Qxj2eBmXLHg その話を各手法を具体的に紹介しつつ、実際にどういったところに良し悪しがあるのかを説明したいと思います。 各サンプルコードは一部抜粋したものになっていますのでご了承ください。 実際に動くコードはGitHubに上げていますのでそちらをご参照ください。 前提の環境は以下の通りです Android Studio 3.6 Beta 5 Kotlin 1.3.50 その他ライブラリについては各種Branchに上がってるapp/build.gradleをご参照ください findViewById 入門書にも乗ってる一番基本的な
Prism for Windows Runtimeって個人的に結構気に入ってて、Universal appでも使いたい…!と思うのですが、いかんせんフットワークが重く感じてしまうんですよね、Prismのチーム。なのでUniversal appが発表されて数日でPrismも対応しました!とかいう感じはなさそう。 なら作ればいいじゃない?ということで、新しいWindows Phone applicationはWindows store appと、ライブラリがほぼ同じということで、Prism for Windows Runtimeのdll自体を参照しても動きます。さらに、Unity(DIコンテナのほう)も動きます。これだけ動けば上等!ということで、サポート系ライブラリ等をそろえてNuGetに放流。もとにしたのは、Prismを使うけどページの継承はしなくていいように作ったPrismAdapter。
WPFでは、強力なデータバインディングを活かした設計パターンとしてModel View ViewModelパターンというアプリケーションを設計するうえでの定石となる設計パターンがあります。Model View ViewModelパターンはMVVMパターンと略されます。MVVMパターンは、WPFだけでなくWebアプリ開発や、その他のアプリ開発にも波及していて、それぞれの状況に応じて形を変えて存在しています。 MVVMパターンは、MSDNマガジンの以下の記事をきっかけに世間に認知されるようになりました。 Model-View-ViewModel デザイン パターンによる WPF アプリケーション : http://msdn.microsoft.com/ja-jp/magazine/dd419663.aspx また、MicrosoftはオープンソースでPrismというMVVMパターンをサポートす
PrismってXamarinにも対応してるんですよね(Previewですけど)ということで、Hello worldしながら、基本的な手順をやっていこうと思います。 プロジェクトの新規作成 まず、プロジェクトの新規作成を行います。Cross-Platform/Blank App (Xamarin.Forms Portable)を選択します。プロジェクト名は、ここではXamarinPrismHelloWorldにしました。UWPのターゲットバージョンをいくつにするかとか聞かれるのでOKを押してプロジェクトを作成します。 私の場合だけなのかもしれませんが、Xamarin.Formsのプロジェクトを作ったらAndroidのエミュレータ起動できない状態になることがあるのですが、そういう時は一度ソリューションを閉じて開きなおすことで解決します。 Prism.Formsの追加 まず、Androidのプロ
Model View ViewModelパターン(以下MVVMパターン)が登場して約10年になります。 ここらへんで一度MVVMを実装するうえで必要になる技術要素を振り返ってみたいと思います。 その前にMVVM MVVMは以下のWikipediaあたりでも見てください。 Model View ViewModel - Wikipedia 見た目と、それ以外にクラスを分離して、さらに見た目をXAMLで作りやすいようにViewとViewModelに分離したようなイメージです。 見ていこう ということでMVVMで必要になる技術要素を見ていこうと思います。 INotifyPropertyChangedインターフェース まずは、これが無いと始まりません。MVVMではViewはViewModelを監視して、ViewModelはModelを監視していることが多いです。その時に、クラスのプロパティが変わった
ComboBoxに列挙型をバインドして、列挙値に応じたテキストを表示し、選択された項目を取得する方法を説明。カスタムコントロールを使う方法やUWPでの注意点も取り上げる。 連載目次 WPFアプリやUWPアプリなどでは、データを画面に表示するためにデータバインディングを使うのが一般的だ。TextBoxコントロールやSliderコントロールなど1つの値を表示するだけのコントロールならば、データバインディングは簡単だ。ComboBoxコントロールやListViewコントロールなど、複数の項目を表示してその中からエンドユーザーに選択してもらうようなコントロールでデータバインディングするのは、ちょっと難しくなる。 本稿では、ComboBoxコントロールに列挙型のデータをバインドする方法を紹介する。特定のトピックをすぐに知りたいという方は以下のリンクを活用してほしい。
このトピックは、Windows.UI.Xaml.Data 名前空間に存在する API のデータ バインディングに関するものです。 データ バインディングは、アプリの UI でデータを表示し、必要に応じてそのデータとの同期を保つ方法です。 データ バインディングによって、UI の問題からデータの問題を切り離すことができるため、概念的なモデルが簡素化されると共に、アプリの読みやすさ、テストの容易性、保守容易性が向上します。 データ バインディングは、UI が最初に表示されたときにデータ ソースからの値を表示するだけの場合に使うことができ、それらの値の変化に応答するために使うことはできません。 これは "1 回限り" というバインディングのモードであり、実行中は変化しない値に適しています。 値を "監視" し、それらが変化したときに UI を更新するように選択することもできます。 このモードは
概要 「WPF」 には、データバインディング(data bining)機能があります。 (WPF に限らず、最近の GUI 開発フレームワークにはたいていこの機能がありますが。) データバインディングは、単にバインディングとか、和訳してデータ結合とか言ったりする場合もあります。 データバインディングとは データバインディングというのは、 例えば、あるコントロールのプロパティとプロパティを結びつけたり、 データベースなどに格納されたデータとリストコントロールを結びつけたりする機構です。 「結びつける」というのは、具体的に言うと、 あるコントロール、例えばテキストボックスの中身が変更されたときに、 その中身と同期して、他のコントロールの中身を変更したりということです。 例えば、図1および2を見てください。 初期状態 スライダーを動かすと・・・ これの詳細については後々改めて説明しますが、 ポイ
基本は xaml で CommandParameter属性 を指定することで引数を渡せます。 以下ではいくつかの サンプルコード を記載しました。 目次 固定値 を 渡す 例 要素 を 渡す 例 コントロールを渡す例 Windowを渡す例 要素 の プロパティ を 渡す 例 固定値 を 渡す 例 CommandParameter="固定値" を指定します。 ラジオボタンくらいしか使い道が思いつきません…。 <Window x:Class="WpfApplication.MainView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:WpfAppli
This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. July 2016 Volume 31 Number 7 [Data Binding] A Better Way to Implement Data Binding in .NET By Mark Sowul Data binding is a powerful technique for developing UIs: It makes it easier to separate view logic from business logic, and easier to test the result
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く