【发布时间】:2011-04-20 02:09:56
【问题描述】:
我知道您可以将整个 DataGrid 或整个列设为 readyonly (IsReadOnly = true)。但是,在单元级别,此属性仅准备就绪。但我确实需要这种粒度级别。在过去 DataGrid 是公共领域时,有一篇关于通过更改源代码将 IsReadOnly 添加到一行的博客,但现在我没有 DataGrid 的源代码。有什么解决方法?
禁用单元格 (IsEnabled=false) 几乎可以满足我的需要。但问题是您甚至无法单击禁用的单元格来选择行(我有全行选择模式)。
编辑:由于没有人回答这个问题,所以我想这不是一个容易解决的问题。这是一个可能的解决方法:使单元格不可编辑。唯一的问题是单击单元格不会选择行。我刚刚注意到单击禁用的单元格时仍会触发 DataGrid 的 MouseDown 或 MouseUp 事件。在这个事件处理程序中,如果我能找出它单击的行,我可以以编程方式选择该行。但是,我不知道如何从DataGrid.InputHitTest 中找到底层行。有人可以给我一些提示吗?
【问题讨论】:
标签: wpf readonly datagridcell