1
データストアとしてSQL Server CE 3.5を使用するエンティティデータモデルベースのアプリケーションがあります。ADO.netエンティティデータモデルを使用したDataGridデータバインディング
お客様にはがあり、それぞれ注文があります。これは単純化された概要である:私のWPFウィンドウで
、私は自分の名前と住所を、すべての顧客の一覧を表示したいと思いれるDataGrid
を挿入します。このような何か:
は、だから私は、このXAML書いた:
<DataGrid Grid.Row="0" Name="customersDataGrid" AutoGenerateColumns="False" CanUserResizeColumns="True" AllowDrop="True" Drop="Window_Drop" DragEnter="Window_DragEnter">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Name" Width="Auto" IsReadOnly="True" />
<DataGridTemplateColumn Header="Address" Width="Auto" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
をしかし、今、どのように私は私のデータモデルでは、顧客の財産Name
でカラム名を接続することができますか?
は、あなたの答えをありがとう!私は試みましたが、それはまだ動作しません。エラーも例外もありません。 XAMLにいくつかの点で、使用するコンテキストは何か_を伝える必要がありますか?どうしたらいいですか? – Dev
@Devそれが動作しない理由は、datagridviewが実際にデータソースにバインドされていないためです。データベースに問い合わせ、結果を 'List'に入れる必要があります。このリストをコードのプロパティとして公開し、xamlのデータグリッド内のコード 'DataGrid.ItemsSource = {Binding ListOfCustomers} 'を使ってこのリストをバインドします。 WPFアプリケーションでMVVMというフレームワークを使用することをお勧めします。このフレームワークを使用すると、コードはすばらしいものになります。 http://msdn.microsoft.com/en-us/magazine/dd419663.aspx –
ありがとう!私はプロパティcustomersList'(プライベートリスト ')を作成しました。私は 'Window_Loaded'メソッドでそれを評価しました。 'customersList'に正しい値が入っていることを確認しました。次に、XAMLの 'DataGrid'タグに' ItemsSource = "{Binding customersList}"という属性を追加しました。私は何かを忘れた? –
Dev