0
我是WPF的新手,仍然試圖掌握WPF控件的綁定方面。首先讓我介紹一下我正在使用的代碼&然後我會提出問題。如何將子列表或數組綁定到datagrid?
CODE
public class ScannedDocument : Csla.BusinessBase<ScannedDocument>
{
private string _documentId = string.Empty;
private BarcodeList _barcodeList = null;
public string DocumentId
{
get { return _documentId; }
}
public BarcodeList Barcodes
{
get { return _barcodeList; }
set
{
if (_barcodeList.Equals(value))
{
_barcodeList = value;
PropertyHasChanged("Barcodes");
}
}
}
}
public class BarcodeList : Csla.BusinessListBase<BarcodeList, Barcode>
{
public static BarcodeList NewBarcodeList()
{ return new BarcodeList(); }
private BarcodeList() {}
}
public class Barcode : Csla.BusinessBase<Barcode>
{
public string Value
{
get { return GetBarcodeValue(); }
}
public static Barcode NewBarcode()
{ return new Barcode(); }
private Barcode() {}
}
XAML
<dg:DataGrid GridLinesVisibility="None" AutoGenerateColumns="False" Name="ScannedDocumentsListView">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header="Document Name" IsReadOnly="True" Binding="{Binding Path=DocumentId}"/>
<dg:DataGridTextColumn Header="Index 1" Width="80" IsReadOnly="True" Binding="{Binding Path=Barcodes[0].Value}" />
<dg:DataGridTextColumn Header="Index 2" Width="80" IsReadOnly="True" Binding="{Binding Path=Barcodes[1].Value}" />
<dg:DataGridTextColumn Header="Index 3" Width="80" IsReadOnly="True" Binding="{Binding Path=Barcodes[2].Value}" />
<dg:DataGridTextColumn Header="Index 4" Width="80" IsReadOnly="True" Binding="{Binding Path=Barcodes[3].Value}" />
<dg:DataGridTextColumn Header="Index 5" Width="80" IsReadOnly="True" Binding="{Binding Path=Barcodes[4].Value}" />
<dg:DataGridTextColumn Header="Index 6" Width="80" IsReadOnly="True" Binding="{Binding Path=Barcodes[5].Value}" />
</dg:DataGrid.Columns>
問題
當I E執行此代碼,我可以將DocumentId成功綁定到網格,但是條形碼列表似乎沒有正確綁定。我已經驗證了列表中有數據。我究竟做錯了什麼?