У меня есть такая сетка данных:
<dg:DataGrid Name="dg" AutoGenerateColumns="False" CanUserDeleteRows="True">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="Product Code" x:Name="columnProductCode" Binding="{Binding Path=Product.ProductCode}" IsReadOnly="True" ></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Product Name" x:Name="columnProductName" Binding="{Binding Path=Product.Name}" IsReadOnly="True" ></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="ProductMeasure" x:Name="columnDonViTinh" Binding="{Binding Path=Product.Measure IsReadOnly="True"></dg:DataGridTextColumn>
<dg:DataGridTextColumn Header="Quantity" x:Name="ColumnQuantity" Binding="{Binding Path=Quantity IsReadOnly="False"></dg:DataGridTextColumn>
</dg:DataGrid.Columns>
</dg:DataGrid>
В следующем коде у меня есть такая структура:
private struct ProductDetail
{
public TProduct Product { get; set ; } // TProduct is a class provied by a web service
public int Quantity { get; set; }
}
и такой список:
private IList<ProductDetail> bs = new List<ProductDetail>();
Я пытался заполнить данные до "bs". И переплет такой:
this.dg.ItemsSource = this.bs;
Все хорошо. Я могу вставить новую строку, удалить строку, но когда я пытаюсь изменить столбец Количество, затем щелкните заголовок таблицы данных (для приближения) -> столбец Количество изменяется на это раньше.
Как я могу исправить эту проблему.
Большое спасибо.