我需要访问DataGridTextColumn中的DataGrid单元格的绑定表达式。例如:WPF DataGrid:如何获取单元格的绑定表达式?
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
我设法与细胞相关的TextBlock的:
var cell = dataGrid.GetCellCtrl<TextBlock>(dataGrid.CurrentCell);
和细胞似乎是正确的。我可以致电
cell.SetValue(TextBlock.TextProperty, value);
更新单元格文本。它似乎在网格上工作(数字更新)。但是,正如我在一段时间后意识到的,源代码不会被更新。即使我将UpdateSourceTrigger设置为PropertyChange,它也没有帮助。然后,我想我需要获得绑定表达式并明确地调用UpdateSource。
var bindingExpr = cell.GetBindingExpression(TextBlock.TextProperty);
但bindingExpr始终为空。为什么?
编辑: 我原来的问题是,我可以到达单元格的绑定TextBlock,并设置TextBlock.TextProperty。但是,源不会更新。这是我试图解决这个问题。
嗨,你解决了这个问题吗? – 2014-02-10 09:40:19
该列的SortMemberPath将默认包含绑定路径(这是默认属性值,可通过绑定属性进行排序)。它不可靠并且无法获取绑定路径,并且不适用于多个绑定,或者当手动排序路径时组。 – kiran 2014-08-25 12:08:32