==[[WPF コントロールライブラリ]]==[[WPF]] | [[Silverlight]] |
{{amazon|4798114200}}
*WPFはUIパッケージに期待する標準コントロールの大部分を提供します[[WPF]]はUIパッケージに期待する標準コントロールの大部分を提供します(DataGridなど、少数の例外もあり)。
*コンテンツモデルとテンプレートがビジュアルの大幅なカスタマイズを可能とするため、コントロールの重要な部分は、コントロールが提供するもでると対話モデルということになる。
==ボタン==
*基本的にボタンは、「クリック可能」なもの
*ボタンは、標準のボタンの規定のルックアンドフィール以外は、BottonBaseのクリックイベント以外に重要な物は追加しません。
*CheckBoxとRadioButtonは、いずれも CheckBoxと[[R]]adioButtonは、いずれも IsChecked(データモデル)プロパティとIsThreeState(対話モデル)プロパティをサポートするトグルボタンを表す。
*IsThreeStateがTrueの場合、Checked、Unchecked、Indeterminate(IsThreeStateがFalseの場合この状態にはならない)を切り替えることが出来る。
<<StackPanel Name="MainPanel">> <<Button Margin="5" VerticalAlignment="Top">>Button<</Button>> <RadioButton>Radio<<[[R]]adioButton>[[R]]adio</RadioButton>[[R]]adioButton> <RadioButton <[[R]]adioButton IsChecked="True">Radio<>[[R]]adio</RadioButton>[[R]]adioButton> <RadioButton>Radio<<[[R]]adioButton>[[R]]adio</RadioButton>[[R]]adioButton> <<CheckBox>>Check<</CheckBox>> <<CheckBox>>Check<</CheckBox>> <<CheckBox IsThreeState="True">>Check<</CheckBox>> <</StackPanel>>
[[File:1443_wpf_button.jpg]]
==リスト==
*WPFはテンプレートのサポートが充実しているため、ListBox、ComboBox、DomainUpDown、ラジオボタンリストのような物までが、基本コントロールの上位に異なるテンプレートを適用するだけで実現できる。[[WPF]]はテンプレートのサポートが充実しているため、ListBox、ComboBox、DomainUpDown、ラジオボタンリストのような物までが、基本コントロールの上位に異なるテンプレートを適用するだけで実現できる。*WPFには、ListBox、ComboBox、ListView、TreeViewの4つの基本リストコントロールがある。[[WPF]]には、ListBox、ComboBox、ListView、TreeViewの4つの基本リストコントロールがある。
===ソース===
*すべてのリストコントロールには、2つのソースのいずれかを使用して項目を代入できる。
====ItemSourceプロパティ====
*リストが表示するデータ項目のコレクションをリストコントロールに提供
<<blockquote>>リストコントロールの外部にあるデータを維持できる<</blockquote>>
string[] items = { "1", "2", "3" };
var list = new ListBox();
===ListBoxとComboBox===
*オブジェクトモデルの観点からいうとこれらはほぼ同一
*ItemSourceプロパティを使用することが推奨され、IEnumerableを実装する任意の型をソースとして使用できる。ItemSourceプロパティを使用することが推奨され、[[IE]]numerableを実装する任意の型をソースとして使用できる。*[[.NET3NET]]3.0からこれらのシナリオで使用するために特別に設計されたObservableCollection<<T>>という新しいコレクションが提供される。*ObservableCollection<<T>>は、リストシナリオのデータソースとして変更追跡のための複数のインターフェースを実装している
*まったく新しいテンプレートを記述しなくてもコントロールの外観を調整出来るようになる一連のプロパティを提供。