非自动生成列时WPF Datagrid绑定错误

非自动生成列时WPF Datagrid绑定错误,wpf,data-binding,mvvm,datagrid,Wpf,Data Binding,Mvvm,Datagrid,我有一个简单的datatgrid,当我用以下方式定义它时,它可以工作: <DataGrid ItemsSource="{Binding EmployeeCollectionViewSource.View}" Style="{DynamicResource FTC_DataGridStyle}" AutoGenerateColumns="True" /> 默认情况下为真。如果要定义自己的列,必须显式将其

我有一个简单的datatgrid,当我用以下方式定义它时,它可以工作:

    <DataGrid             
        ItemsSource="{Binding EmployeeCollectionViewSource.View}"        
        Style="{DynamicResource FTC_DataGridStyle}" AutoGenerateColumns="True" />
默认情况下为真。如果要定义自己的列,必须显式将其设置为false。否则,您将同时拥有两种列类型(自动生成和自己定义)

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        ...
    </DataGrid.Columns>
</DataGrid>

...
但您真正的问题似乎是在代码中的
之后增加了
。删除它,异常应该消失。

默认情况下为true。如果要定义自己的列,必须显式将其设置为false。否则,您将同时拥有两种列类型(自动生成和自己定义)

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        ...
    </DataGrid.Columns>
</DataGrid>

...


但您真正的问题似乎是在代码中的
之后增加了
。删除它,异常应该消失。

如果您一次从xaml中删除一个数据列,您是否曾经停止收到该错误?我怀疑你的专栏之一就是问题所在。如果是这样,问题出在哪一列。@DJBurb我试图一次删除一列,但它们都会抛出一个错误:DataContext设置在哪里?它是在usercontrol xaml声明中设置的。所有其他绑定都可以正常工作,如果删除手动定义的列,则可以正常工作。所以我认为这不是datacontext声明。啊哈!这就是我之前要求你做的。那么您必须删除所有手动定义的列才能工作?对的如果你一次只从xaml中删除一个数据列,你有没有停止过这个错误?我怀疑你的专栏之一就是问题所在。如果是这样,问题出在哪一列。@DJBurb我试图一次删除一列,但它们都会抛出一个错误:DataContext设置在哪里?它是在usercontrol xaml声明中设置的。所有其他绑定都可以正常工作,如果删除手动定义的列,则可以正常工作。所以我认为这不是datacontext声明。啊哈!这就是我之前要求你做的。那么您必须删除所有手动定义的列才能工作?对的那么,如果您一次只添加一个会怎么样呢?感谢您的回复,我添加了AutoGenerateColumns=“False”,但错误保持原样,我最终使我的解决方案工作,并且我不需要显式地将AutoGenerateColumns设置为False,如果我手动设置它们,它似乎认识到你部分正确,我认为我也发现了问题。请查看我的更新答案。哈,就是这样,我在重新启动计算机后重建了页面,必须删除额外的/>。很好,谢谢。谢谢你的回复,我添加了AutoGenerateColumns=“False”,但错误仍然是原来的我最终让我的解决方案工作了,我不需要显式地将AutoGenerateColumns设置为False,如果我手动设置它们,它似乎可以识别出你部分正确,我认为我也发现了问题。请查看我的更新答案。哈,就是这样,我在重新启动计算机后重建了页面,必须删除额外的/>。接得好,谢谢。
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        ...
    </DataGrid.Columns>
</DataGrid>