天天看點

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>