Я хочу связать ячейку XamDataGrid с помощью управления ComboBox через свойство коллекции (CurrentEntity.INVTransactions) (BatchList), но оно не работает. Я использую mvvm pattern.In мой код «BatchId» и «BatchList» являются свойствами коллекции CurrentEntity.INVTransactions.Проблема с привязкой XamDataGrid
не могли бы вы рассказать мне, почему comboBox xamDataGrid не отображает BatchList?
пример кода:
<UserControl x:Class="PDCL.ERP.Modules.Inventory.Views.RequisitionList.RequisitionInfoUserControl"
...>
<GroupBox Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="2" Header="Details" VerticalAlignment="Top" Margin="5,0,5,0">
<Grid>
<igDP:XamDataGrid Margin="2" DataSource="{Binding CurrentEntity.INVTransactions}" x:Name="requisitionDeailsGrid" InitializeRecord="requisitionDeailsGrid_InitializeRecord">
<igDP:XamDataGrid.FieldLayoutSettings>
<igDP:FieldLayoutSettings HighlightAlternateRecords="True"
AutoGenerateFields="False"
AllowAddNew="True"
AddNewRecordLocation="OnBottom"
AutoFitMode="Always"
SupportDataErrorInfo="RecordsAndCells"
DataErrorDisplayMode="ErrorIcon"
/>
</igDP:XamDataGrid.FieldLayoutSettings>
<igDP:XamDataGrid.FieldLayouts>
<igDP:FieldLayout>
<igDP:FieldLayout.Fields>
<igDP:Field Name="Remarks" Label="Remarks" Width="Auto">
<igDP:Field.Settings>
<igDP:FieldSettings AllowEdit="True" AllowResize="True"/>
</igDP:Field.Settings>
</igDP:Field>
<igDP:Field Name="BatchId" Label="Batch" Width="Auto">
<igDP:Field.Settings>
<igDP:FieldSettings EditorType="{x:Type igEditors:XamComboEditor}">
<igDP:FieldSettings.EditorStyle>
<Style TargetType="{x:Type igEditors:XamComboEditor}">
<Setter Property="ItemsSource" Value="{Binding INVTransactions.BatchList, RelativeSource = {RelativeSource FindAncestor, AncestorType={x:Type igDP:XamDataGrid}, AncestorLevel=1}}" />
<Setter Property="DisplayMemberPath" Value="BatchName" />
<Setter Property="ValuePath" Value="BatchId" />
</Style>
</igDP:FieldSettings.EditorStyle>
</igDP:FieldSettings>
</igDP:Field.Settings>
</igDP:Field>
<igDP:Field Name="Qty" Label="Qty Supplied" Width="Auto">
<igDP:Field.Settings>
<igDP:FieldSettings AllowEdit="True" AllowResize="True"/>
</igDP:Field.Settings>
</igDP:Field>
</igDP:FieldLayout.Fields>
</igDP:FieldLayout>
</igDP:XamDataGrid.FieldLayouts>
</igDP:XamDataGrid>
</Grid>
</GroupBox>
</UserControl>
Окно вывода показывает «ошибка BindingExpression путь ошибки:. Свойство 'INVTransactions' не найден на 'объекта' '' XamDataGrid '(Имя = 'requisitionDeailsGrid')' BindingExpression: Path = INVTransactions.BatchList; DataItem = 'XamDataGrid' (Name = 'requisitionDeailsGrid'); целевой элемент - «XamComboEditor» (Name = ''); target-свойство - «ItemsSource» (тип «IEnumerable») «
Bob vale, я решил проблему, но забыл обновить ответ. В любом случае спасибо за вашу попытку. –