2012-09-27 154 views
0

有困難時期一個列表綁定到DataGrid:綁定列表到數據網格

XAML:

<DataGrid Name="dgProductList" 
    ItemsSource="{Binding ProductList}"> 
<DataGridTextColumn Binding="{Binding ProductName}" Header="Item" /> 
           <DataGridTextColumn Binding="{Binding Quantity}" Header="Qty" /> 
           <DataGridTextColumn Binding="{Binding TotalPrice}" Header="Price" /> 
           <DataGridTemplateColumn Width="*"> 

後面的代碼:

public IList<SalesItem> ProductList = new List<SalesItem>(); 

public void LoadProduct(Product product) 
     { 
      SalesItem item = new SalesItem { ProductName = product.Name, Quantity = 1, TotalPrice = product.Price }; 
      ProductList.Add(item); 
     } 

這不加載。

謝謝。

回答

1

DataGrid中不知道什麼時候該產品列表更新......讓這樣的的ObservableCollection:

public ObservableCollection<SalesItem> ProductList = new ObservableCollection<SalesItem>(); 

編輯:

是綁定的所有工作?命名你的控制/窗口根和綁定到該元素

<Window x:Class="test.MainWindow"  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="350" Width="525" x:Name="Root"> 
    <Grid> 
     <DataGrid Name="dgProductList" ItemsSource="{Binding ElementName=Root,Path=ProductList}"> 
      <DataGridTextColumn Binding="{Binding ProductName}" Header="Item" /> 
      <DataGridTextColumn Binding="{Binding Quantity}" Header="Qty" /> 
      <DataGridTextColumn Binding="{Binding TotalPrice}" Header="Price" /> 
     </DataGrid> 
    </Grid> 
</Window> 
+0

Thansk,我改變這一點,這是行不通的 – Alvin

+0

@Kev fixx看到編輯 – BvdVen

+0

感謝您的努力,而不是工作。 – Alvin

1

嘗試到您的收藏綁定到

ObservableCollection<SalesItem> 

的UI當你添加一個產品可能是不通知。