ComboBoxに列挙型をバインドして、列挙値に応じたテキストを表示し、選択された項目を取得する方法を説明。カスタムコントロールを使う方法やUWPでの注意点も取り上げる。 連載目次 WPFアプリやUWPアプリなどでは、データを画面に表示するためにデータバインディングを使うのが一般的だ。TextBoxコントロールやSliderコントロールなど1つの値を表示するだけのコントロールならば、データバインディングは簡単だ。ComboBoxコントロールやListViewコントロールなど、複数の項目を表示してその中からエンドユーザーに選択してもらうようなコントロールでデータバインディングするのは、ちょっと難しくなる。 本稿では、ComboBoxコントロールに列挙型のデータをバインドする方法を紹介する。特定のトピックをすぐに知りたいという方は以下のリンクを活用してほしい。
概要 「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
昨晩、こんな話が: コレ クションをバインドした時に何が起きているか WPFのBindingのPathの解決は結構複雑なことをしております。何のせいでそんなに複雑になるかというと、「マスター詳細シナリオ」とか言う概念のせいだったりします。 マスター詳細シナリオ 以下のページ参照: データ バインディングの概要 (ページ内を「マスター詳細シナリオ」で検索すれば該当箇所に) IsSynchronizedWithCurrentItem プロパティ DataContextに何かコレクションを与えた上で、選択項目の詳細を見たいという場合があります。こういう状況を指して「マスター詳細シナリオ」と呼んでいるようです。 データ バインディングでは、以下のように、Path=/ と書くことで、「コレクションの選択項目を参照しろ」という意味になります。 <ListBox ItemsSource=”{Bindin
前回のアプリケーションはシンプルすぎてModelがありませんでしたが、今度はシンプルな四則演算アプリケーションでModelまで含んだコード例を示したいと思います。MVVMの基本クラスは、Prism.Mvvmのクラスを使用します。 Modelの作成 ModelはなるべくプレーンなC#のクラスになるように心がけます。そして状態の変更をINotifyPropertyChangedを通じて外部に通知します。今回は、左辺値、右辺値、計算方法、計算結果をステートとして持たせます。INotifyPropertyChangedを実装したクラスなので、PrismのBindableBaseクラスを基本クラスとして使用します。 左辺値、右辺値、計算結果はdouble型で保持して、計算結果はOperationTypeというenum型を定義してそれを使用しています。コードを以下に示します。 public class
WPFには、見た目とデータを分離して管理するための強力なデータバインディングの機能があります。WPFのデータバインディングは、依存関係プロパティとプロパティの間の同期をとる機能にないります。 単純なBinding データバインディングは、ソースに設定されたオブジェクトのプロパティとターゲットに設定された依存関係プロパティ(添付プロパティも可)の間の同期をとります。例えば、以下のようなPersonクラスがあるとします。 using System.ComponentModel; using System.Runtime.CompilerServices; namespace DataBindingSample01 { public class Person : INotifyPropertyChanged { public event PropertyChangedEventHandler P
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く