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