... <igEditors:XamComboEditor Name="xamComboEditor1" VerticalAlignment="Top"> </igEditors:XamComboEditor> ...
DataSet を含め、複数の異なるデータ ソースに xamComboEditor™ をバインドできます。Extensible Application Markup Language (XAML) を使用して xamComboEditor を DataSet にバインドしたい場合、ビジネスオブジェクトのコレクションの代わりに DataSet を返す ObjectDataProvider を作成できます。この実装に必要とされる XAML 宣言は、 xamComboEditor をコレクションにバインドするための XAML 宣言と非常に似ています。ただし、冗長な情報を削除するに、以下の手順は xamComboEditor を DataSet にバインドするためにプロシージャー コードを使用します。
以下の手順で例に従いたい場合には、 フラットな DataSet を作成することが必要となります。
XAML を使用して、xamComboEditor コントロールと ComboBoxItemsProvider オブジェクトを宣言的に作成します。xamComboEditor を DataSet にバインドするためにプロシージャー コードを書きます。
xamComboEditor を Window に追加して名前を付けます。
XAML の場合:
... <igEditors:XamComboEditor Name="xamComboEditor1" VerticalAlignment="Top"> </igEditors:XamComboEditor> ...
ComboBoxItemsProvider を xamComboEditor に追加します。
xamComboEditor は、ComboBoxItemsProvider オブジェクトのインスタンスを自動的に作成しません。XAML で ComboBoxItemsProvider を宣言する、またはコード ビハインドで xamComboEditor の ItemsProvider プロパティを ComboBoxItemsProvider のインスタンスに設定する必要があります。
XAML の場合:
... <igEditors:XamComboEditor.ItemsProvider> <igEditors:ComboBoxItemsProvider /> </igEditors:XamComboEditor.ItemsProvider> ...
Window の Loaded イベントのイベント ハンドラを接続します。
XAML の場合:
<Window … Loaded="Window_Loaded" ...>
コード ビハインドで、'Window_Loaded' という名前のメソッドを作成して、Window の Load イベントを処理します。
Visual Basic の場合:
Private Sub Window_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs) 'TODO: ここでコントロールのデータ ソースを設定します End Sub
C# の場合:
private void Window_Loaded(object sender, RoutedEventArgs e) { //TODO: ここでコントロールのデータ ソースを設定します }
フラットな DataSet で ItemsProvider オブジェクトの ItemsSource プロパティを最初の Table の DefaultView プロパティに設定します。
ItemsProvider オブジェクトのプロパティを設定できます。XAML で xamComboEditor の ItemsProvider プロパティを ComboBoxItemsProvider の新しいインスタンスに設定するからです。このように設定していなかった場合には、ItemsProvider オブジェクトのプロパティを設定する前に、xamComboEditor の ItemsProvider プロパティを ComboBoxItemsProvider のインスタンスに設定することが必要となります。
Visual Basic の場合:
... Me.xamComboEditor1.ItemsProvider.ItemsSource = Me.exampleDataSet.Tables(0).DefaultView ...
C# の場合:
... this.xamComboEditor1.ItemsProvider.ItemsSource = this.exampleDataSet.Tables[0].DefaultView; ...
ComboBoxItemsProvider オブジェクトの DisplayMemberPath プロパティを文字列 ContactName に設定します。
DisplayMemberPath プロパティは、xamComboEditor の Text プロパティに保存される値だけでなく表示値を決定します。
Visual Basic の場合:
itemsProvider1.DisplayMemberPath = "ContactName"
C# の場合:
itemsProvider1.DisplayMemberPath = "ContactName";
ComboBoxItemsProvider オブジェクトの ValuePath プロパティを文字列 CustomerID に設定します。
ValuePath プロパティは、xamComboEditor の Value プロパティに保存される値を決定します。ValuePath プロパティが文字列のデータ タイプを持つプロパティまたは DataColumn をポイントする場合、xamComboEditor の ValueType プロパティを明示的に設定する必要はありません。ValueType プロパティが設定されない場合には、文字列のデータ タイプにデフォルトで設定します。
Visual Basic の場合:
itemsProvider1.ValuePath = "CustomerID"
C# の場合:
itemsProvider1.ValuePath = "CustomerID";
プロジェクトを実行して、xamComboEditor コントロールをクリックし、Northwind データベースから顧客のドロップダウン リストを表示します。