Я новичок в WPF и все еще пытаюсь понять аспект связывания элементов управления WPF.Позвольте мне сначала представить код, с которым я работаю, а затем я задам вопросы.
КОД
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>
ПРОБЛЕМА
Когда я выполняю этот код, я могу успешно привязать DocumentId к сетке, но список штрих-кодов неКажется, не является обязательным.Я проверил, что в списке есть данные.Что я делаю не так?