我需要获取DataGridTextColumn中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。然而,数据源并没有被更新。这是我试图解决的问题。