天天看点

WPF 自带Datagrid编辑后无法更新数据源的问题

解决办法:

在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下

<DataGrid Grid.Row="1" Height="274" HorizontalAlignment="Left" Margin="12,10,0,0" Name="dataGrid2" VerticalAlignment="Top" Width="679" RowEditEnding="dataGrid2_RowEditEnding" AutoGenerateColumns="False">

            <DataGrid.Columns>

                <DataGridTextColumn Header="姓名" Width="*" Binding="{Binding Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>

                <DataGridTextColumn Header="地址" Width="*" Binding="{Binding Addr,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>

            </DataGrid.Columns>

        </DataGrid>

这样当即时编辑Datagrid单元格数据时会立马更新数据源的值。

UpdateSourceTrigger 枚举详细说明见

<a href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.updatesourcetrigger(v=vs.95).aspx">http://msdn.microsoft.com/zh-cn/library/system.windows.data.updatesourcetrigger(v=vs.95).aspx</a>

引用网上找的内容:

这个就是UpdateSourceTrigger这枚举类型来决定的。

关于此枚举的具体类型,可参照

<a href="http://msdn.microsoft.com/zh-cn/library/system.windows.data.binding.updatesourcetrigger.aspx" target="_blank">http://msdn.microsoft.com/zh-cn/library/system.windows.data.binding.updatesourcetrigger.aspx</a>