none
DateGrid绑定ObservableDictionary<string, 自定义实体>,怎么做到在单元格中修改Value里的自定义实体内容? RRS feed

  • 问题

  • <DataGridTextColumn Header="标题"  Binding="{Binding Path=Value.title}" ></DataGridTextColumn>
    <DataGridTextColumn IsReadOnly="true" Header="Key" Binding="{Binding Path=Key}" ></DataGridTextColumn>
    <DataGridTextColumn Header="Value"  Binding="{Binding Path=Value.dValue}" ></DataGridTextColumn>


    使用DateGrid绑定ObservableDictionary<string, 自定义实体>类型,显示字典内容,key值成功显示,也成功显示value里面的内容。但是鼠标双击单元格,进行编辑,却提示程序中断异常“System.InvalidOperationException:“此视图不允许“EditItem”。”,怎样允许其修改?还是只能在DataGrid以外的地方修改?

    字典类来源: https://blog.csdn.net/luminji/article/details/5360888


    2019年10月30日 2:08

全部回复

  • <DataGridTextColumn Header="标题"  Binding="{Binding Path=Value.title}" ></DataGridTextColumn>
    <DataGridTextColumn IsReadOnly="true" Header="Key" Binding="{Binding Path=Key}" ></DataGridTextColumn>
    <DataGridTextColumn Header="Value"  Binding="{Binding Path=Value.dValue}" ></DataGridTextColumn>


    使用DateGrid绑定ObservableDictionary<string, 自定义实体>类型,显示字典内容,key值成功显示,也成功显示value里面的内容。但是鼠标双击单元格,进行编辑,却提示程序中断异常“System.InvalidOperationException:“此视图不允许“EditItem”。”,怎样允许其修改?还是只能在DataGrid以外的地方修改?

    字典类来源: https://blog.csdn.net/luminji/article/details/5360888


    Hi  便携式家园,

    如果希望能够在数据网格中编辑数据,则源集合类型(observativedictionary<tkey,tvalue>)应实现IList接口。

    不清楚你的 ItemsSource 如何绑定的,是不是IEnumerable。 如果是,你可能需要将你的数据转为list 列表。这样才可以编辑。


    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年10月30日 6:51
    版主