0

私はWPFとEFを使用しています。情報を表示するために Datagrid を使用しています。

私のビューモデルには、ObservableCollection があります。このコレクションは、私の DataGrid の直接のソースです。これが私の DataGRid の宣言です:

<DataGrid Margin="6" BorderBrush="Black" BorderThickness="1" 
          AutoGenerateColumns="False" 
          SelectionMode="Extended" 
          SelectionUnit="FullRow"
          AlternatingRowBackground="Gainsboro" 
          AlternationCount="2" 
          Name="DataGridClientSpecs" 
          CanUserAddRows="False"
          ItemsSource="{Binding ClientSpecifications}" 
          VerticalScrollBarVisibility="Auto" Height="500" >
    <DataGrid.Columns>
            <DataGridCheckBoxColumn Header="Wanted ?" Binding="{Binding Wanted}" />
            <DataGridTextColumn Header="Product" Binding="{Binding ProductSpecification.ProductType}" />
            <DataGridTextColumn Header="Conditionnement" Binding="{Binding ProductSpecification.ConditionnementType}" />
    <DataGrid.Columns>
</DataGrid>

そして、私は2つの問題を抱えています:

  • 行を選択しようとすると、常に最初の行が選択されます。

  • 一部の行が重複しています。

コレクションを ListBox にバインドすると、重複する行はありませんが、選択はまだ機能していません。

誰かが私を助けてくれることを願っています...

乾杯

トーマス

4

1 に答える 1

1

私は私の問題を解決しました:-)

それは Entity Framework のせいです! これは新しいアイテムのリストであるため (DB に存在しないことを意味します)、ID は 0 に等しく、このクラスの Equals() メソッドを上書きしているため、ID の比較を行っているため、 ID は常に 0 なので、リストのすべての項目は同じです :-)

ところで、アイテムのリストを表示するすべてのコントロールと同じです。

問題が解決しました !それが人々を助けることを願っています。

乾杯トーマス

于 2012-06-13T06:34:59.910 に答える