gpt4 book ai didi

c# - 单击 WPF DataGrid 时如何修复 "unhandled exception"?

转载 作者:太空狗 更新时间:2023-10-29 22:28:14 27 4
gpt4 key购买 nike

我正在使用 Visual Studio 2010、WPF 和 C# 4.0,当单击 DataGrid 中的单元格时出现以下异常:

An unhandled exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dll  Additional information: A TwoWay or OneWayToSource binding cannot work on the read-only property 'Column2' of type 'VindecoderUI.AcesData'.

这是我的代码:

    <DataGrid AutoGenerateColumns="False" Height="190" Name="nadaDataGrid" Width="304" FrozenColumnCount="1000" ItemsSource="{Binding Source={StaticResource nadaDataCollection}}" CanUserReorderColumns="False" CanUserResizeColumns="True" CanUserSortColumns="False" AlternatingRowBackground="#3F000000" CanUserResizeRows="False" SelectionMode="Single" SelectionUnit="Cell"
SelectionChanged="dataGrid1_SelectionChanged" AreRowDetailsFrozen="True" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=NadaSeries}" Header="Nada Series" />
<DataGridTextColumn Binding="{Binding Path=NadaBS}" Header="Nada BS" />
<DataGridTextColumn Binding="{Binding Path=MSRP}" Header="MSRP" />
<DataGridTextColumn Binding="{Binding Path=GVWR}" Header="GVWR" />
<DataGridTextColumn Binding="{Binding Path=GCWR}" Header="GCWR" />
</DataGrid.Columns>
</DataGrid>

<Window.Resources>
<CollectionViewSource x:Key="nadaDataCollection"></CollectionViewSource>
<CollectionViewSource x:Key="acesDataCollection"></CollectionViewSource>
</Window.Resources>

最佳答案

默认情况下,DataGrid 单元格是可编辑的(这意味着绑定(bind)是 TwoWay。)由于您绑定(bind)的集合包含具有只读属性的项,因此您当您单击该单元格时出现异常,因为无法进行编辑。

您应该能够通过将 Mode=OneWay 添加到该字段的列绑定(bind)来解决这个问题。

关于c# - 单击 WPF DataGrid 时如何修复 "unhandled exception"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7113308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com