【发布时间】:2015-09-29 14:07:00
【问题描述】:
我有一个绑定的数据网格,由一列和一个按钮组成。
当我单击此按钮“全选”时,列中的所有值都已更改。
有什么问题?我会立即看到结果,无需数据网格滚动。
如何立即刷新该列?
<DataGrid AutoGenerateColumns="False"
ItemsSource="{Binding Ele_Soc, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Selec_Elenc, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectionMode="Single" Name="Dg_Dat" >
<DataGrid.Columns>
<DataGridTextColumn x:Name="col_Soc_cod" Binding="{Binding Soc_cod}"
IsReadOnly="True" Header="Soc. Cod" Width="80" />
</DataGrid.Columns>
</DataGrid>
public ObservableCollection<Model_Soc> Ele_Soc { get; set; }
private void Cmd_SelectAll()
{
for (Int32 i = 0; i <= Ele_Soc.Count - 1; i++) {
Ele_Soc.Item(i).Soc_cod = "Yes";
OnPropertyChanged("Ele_Soc");
}
}
【问题讨论】:
-
谢谢,但不起作用! :-(
-
OnPropertyChanged("Soc_cod");怎么样?您更改了 Soc_cod 属性值,因此请尝试提高其更改事件。 -
我尝试了 OnPropertyChanged("Soc_cod") 和 OnPropertyChanged("Ele_Soc") 但不起作用
-
你的 Soc_cod 属性是否在 setter 上有 OnPropertyChanged 调用?
-
是私有字符串_Soc_cod { get;放; } 公共字符串 Soc_cod { 获取 { 返回 _Soc_cod; } 设置 { _Soc_cod = 值; OnPropertyChanged("Soc_cod"); } }