私は初心者のプログラマーで、キャリアというよりも趣味としてやっています。そのため、私が働いている会社の請求書を生成するためのアプリケーションをまとめています。私は、サプライヤーからのデータ フィードを取り込み、顧客、製品、料金などを照合して請求書を作成する請求書作成作業を行っています。私は今、それをきれいにして、顧客と料金の詳細を編集できるようにしようとしています. その一部は、ルックアップ値 (VAT 率、マークアップ値、カスタム レートなど) を保持する多数のテーブルを取得したことを意味します。
私は WPF、C#、.Net 4 でアプリケーションを作成しています。また、レイヤーを分離するための MVVM パターンを維持しようとしています。
データ レイヤーとその他すべてとの対話を処理する EditLookupTableViewModel という汎用 VeiwModel を作成しました。私の問題はビューにあります。上記のクラスで許可するすべてのデータ型を処理できる単一のビューを作成したいと思います。私が立ち往生しているビットはこれです。
データベース テーブルの現在の値のリストとしてデータを表示し、それらの値を編集したり、新しい値を追加したりできるようにしたいと考えています。さまざまなデータ型はすべて、Entity Framework 4 経由でアクセスされる SQL データベースのテーブルに基づいています。すべてのテーブルの列の数または型が同じというわけではありません。
DataGrid コントロールを使用してデータをリストとして表示する場合、表示されているデータ型に基づいて列の型を変更するにはどうすればよいですか?
色々なサイトで探しましたが、なかなか合いません。
DataTemplate を使用してから DataTemplateSelector を使用できると思いましたが、DataGrid の DataTemplate を作成する方法がわかりません。
次に、ContentPresenter を使用すると考えましたが、テンプレートを選択する方法がわかりません。
理想的には、いくつかのテーブルが同じ構造を持っているため、コードからテンプレートを制御できるように、ある種の og TemplateSelector を使用したいと思います。同じテーブルのテンプレートを再利用するのは素晴らしいことです。
複数のビューを作成するよりもエレガントなソリューションが必要であると確信しているため、どんな助けも大歓迎です。
ありがとう
サイモン