私は(再び)WPFでのバインディングを理解していないことに気づきました。次の構造を使用して、テーブルをデータグリッドにバインドしました(これはウィンドウで発生します)。
OdbcConnection con;
... // open con
DataSet ds = new DataSet();
// in the database we have a table named "producer"
OdbcDataAdapter adapter = new OdbcDataAdapter("select * from producer", con);
adapter.Fill(ds,"producer"); // (1), map the tablename in ds to "producer"
this.DataContext = ds;
...
およびXAMLの関連部分:
<DataGrid ItemsSource="{Binding producer}" // (2)
...// other properties
/>
これは正常に機能するので、このコードを一般化して、他のテーブルにも使用できるようにします。"producer"
つまり、(1)と(2)でタグ付けされた行の固定文字列を、(1)または(1)の文字列変数に置き換えたいと思いtableName
ます。(2)の内容です。これが私が立ち往生しているところです:(2)でこのバインディングをどのように定義しますか?Windowクラスのプロパティを作成しようとしましtableName
たが、XAMLで、「IEnumerableの型コンバーターは文字シーケンスからの変換をサポートしていません」というエラーが表示されます(この最後のステートメントをドイツ語の形式から変換したため、そうでない場合があります英語の対応物と正確に一致します)。
XAMLで実際にこれを行うことはできますか、それともプログラムでバインディングを定義する必要がありますか?