必须在源代码DataTable
上逐个更改代码,我需要一种方法暂时停止向其绑定的DataGrid
发送数据绑定更新:
我有一个DataGrid
绑定到DataTable
后面的代码。
DataGrid
在XAML中定义了列以及绑定属性:
<DataGrid.Columns>
<DataGridTextColumn Header="{StaticResource str_Line}" Binding="{Binding Path=Pkey}" />
在代码后面在加载时,我分配数据源(DataTable)到我的网格:
myGrid.ItemsSource = myTable.DefaultView;
现在,由于必须在显示数据上运行一堆自定义数据格式(主要是必须根据其他列的值清空一些列,也有一些图像切换),我手动更新这个源表-它相对较小,总是少于20行。我将逐行,逐单元格,并确定这个特定的单元格是否需要隐藏或显示它的值。
我不希望我的UI线程得到一个单独的更新事件为每个细胞,但我还没有找到任何方法来切换绑定。
找到绑定。UpdateSourceTrigger属性-但这仍然意味着对每个列进行单独更新。
设置UpdateSourceTrigger为Explicit。您可以获取想要刷新的绑定表达式,并在准备好时调用UpdateTarget。看到BindingExpression。