•Expression Blendのデータソース
–XML データ ソース
•XML 形式のデータを提供できるローカルまたはリモートの XML ファイル
–共通言語ランタイム (CLR) オブジェクトデータ ソース
•ObservableCollection クラスが提供
•IEnumerable インターフェイスと INotifyCollectionChanged インターフェイスを実装したクラス
•WPFのバインディングソース
Expression Blendのデータソースの2つ
–ADO.NET データ
ADO.NET DataView は、IBindingList を実装し、バインディング エンジンがリッスンする変更通知を提供
–DependencyObject
任意の DependencyObject の依存関係プロパティにバインド、コントロールのプロパティ間のバインディングに主に使用
Blend ではプロパティウィンドウからデータバインドで設定可能
•Expression BlendのDataSetの対応
型つきのDataSetでもBlendではデータソースとして認識されない
ObservableCollection とかを作成すれば認識される
しかし、VisualStudioでプログラムから DataContext に設定すれば利用できる
•GridView
ListView の表示モードを指定する View プロパティに GridView オブジェクトを設定することで、DataGridView に近い表現と入力が可能
GridViewColumn でカラムを指定する
CellTemplate や HeaderTemplate でヘッダーやセルの表示形式を変更
HeaderContainerStyle でヘッダーの表示形式を変更
•DataTemplate
データ オブジェクトの視覚化を表現するのに作成する
DataGridView ではできなかった2段表示も可能
<DataTemplate x:Key="氏名HeaderCell">
<StackPanel>
<TextBlock Text="ふりがな" HorizontalAlignment="Center"/>
<TextBlock Text="氏名" HorizontalAlignment="Center"/>
</StackPanel>
</DataTemplate>
•ControlTemplate
コントロールのビジュアル構造を標準から変更するときに使用
少し拡張する場合にも
<ControlTemplate x:Key="validationTemplate">
<DockPanel>
<AdornedElementPlaceholder/>
<Image Source="Imeges\error.ico" Width="20" Height="20"/>
</DockPanel>
</ControlTemplate>