2013-01-22 89 views
0

在下面的示例中,我嘗試綁定PartNumber以加載到DataGridComboBoxColumn,但我無法做到。我怎樣才能做到這一點?無法綁定數據網格中的組合框

public class Order 
{ 
    public string OrderName { get; set; } 
    public List<Parts> PartsList { get; set; } 
} 

public class Parts 
{ 
    public string PartName { get; set; } 
    public double PartQuantity { get; set; } 
    public string PartNumber { get; set; } 
} 

XAML:

<DataGrid Name="dgrStavke" 
      AutoGenerateColumns="False" 
      Height="160" 
      Width="600" 
      HorizontalAlignment="Left" 
      Margin="5" 
      Grid.Row="7" 
      Grid.ColumnSpan="4" 
      ItemsSource="{Binding}"> 
    <DataGrid.Columns> 
    <DataGridComboBoxColumn Header="ValueCombo" 
          ItemsSource="{Binding Path=PartsList}" 
          DisplayMemberPath="PartNumber"> 
    </DataGrid.Columns> 
</DataGrid> 
+0

我不認爲結合是正確的。檢查Visual Studio輸出窗口是否有綁定錯誤。 –

+0

如果您已正確設置DataContext,則只需使用ItemsSource =「{Binding PartsList}」。 –

回答

0

使用的ObservableCollection,而不是名單。如果你想使用列表,那麼你將不得不通知它。但最好的方法是使用ObservableCollection。我希望這將有所幫助。

我剛剛已經看到,組合框的ItemSource也是不正確的應該是這樣

ItemsSource="{Binding Path=Order.PartsList}" 
+0

他會的。如果他將使用添加,刪除,插入,刪除List的方法來添加,刪除項目,則不會通知任何內容,或者他將不得不在這些方法之後通知它。只有在他使用=運算符將值分配給列表時,它纔會被通知 – ethicallogics

相關問題