Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XamDataGrid绑定问题_C#_Wpf - Fatal编程技术网

C# XamDataGrid绑定问题

C# XamDataGrid绑定问题,c#,wpf,C#,Wpf,我想通过集合的(CurrentEntity.INVTransactions)属性(BatchList)使用ComboBox控件绑定XamDataGrid的一个单元格,但它不起作用。 我使用的是mvvm模式。在我的代码中,“BatchId”和“BatchList”是CurrentEntity.INVTransactions集合的属性 您能告诉我为什么xamDataGrid的组合框不显示批处理列表吗 示例代码: <UserControl x:Class="PDCL.ERP.Modules.In

我想通过集合的(CurrentEntity.INVTransactions)属性(BatchList)使用ComboBox控件绑定XamDataGrid的一个单元格,但它不起作用。 我使用的是mvvm模式。在我的代码中,“BatchId”和“BatchList”是CurrentEntity.INVTransactions集合的属性

您能告诉我为什么xamDataGrid的组合框不显示批处理列表吗

示例代码:

<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路径错误:在“对象”“XamDataGrid'(Name='requisitionDeailsGrid')”上找不到INVTransactions'属性。BindingExpression:path=INVTransactions.BatchList;DataItem='XamDataGrid'(Name='requisitionDeailsGrid');目标元素为“XamComboEditor'(Name=”);目标属性为“ItemsSource”(键入“IEnumerable”)“

如果要将项目绑定到Xamdatagrid的相对源,Xamdatagrid没有INVTransactions属性,我认为您实际上是在寻找已绑定到INVTranactions属性的数据源,请尝试将绑定更改为

{Binding DataSource.BatchList, RelativeSource = {RelativeSource FindAncestor, AncestorType={x:Type igDP:XamDataGrid}, AncestorLevel=1}} 

鲍勃·维尔,我已经解决了这个问题,但是忘记更新答案了。无论如何,谢谢你的尝试。