[英]How to prevent datagrid from refreshing data?
这是场景:
我需要网格 A 保持不变,直到用户单击保存按钮,无论网格 B 可能有也可能没有任何更改。 当我绑定到下面的属性时,当 Grid B 更改时,两个网格都会更改。 我想避免这种情况。
这样做的最佳方法是什么? 两个网格当前都绑定到以下属性:
public EntitySet<SomeEntity> SomeEntities
{
get { return _entity; }
set
{
if (_entity != value)
{
_entity= value;
OnPropertyChanged("SomePropertyChanged");
}
}
}
将网格 A 的绑定设置为 OneTime。
IE
Text="{Binding Path=Age, Mode=OneTime}"
也许不是完全切换网格绑定到的 SomeEntities 集合,而是使用 ObservableCollection,然后在 ObservableCollection 中逐项更新。 然后使用 Derek 提到的 Mode=OneTime。
您可以创建两个 EntitySet,每个 DataGrid 一个。 保存后,您必须更新绑定到只读 DataGrid 的集合。
通过使用带有 OneTime 绑定的 DataGridTemplateColumn 使其工作。 例如,
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Enabled, Mode=OneTime}"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.