當我離開單元格時,當前我的DataGrid
(Silverlight 4)正在更新。每當單元格的值發生更改時,我都需要更新它。如何在Silverlight DataGrid更新綁定數據時進行更改?
1
A
回答
1
我來到了我自己的答案和它與用於瞬間改變一個TextBox的綁定行爲注射來源(see here)。我subclassed DataGrid
並添加了以下代碼:
protected override void OnPreparingCellForEdit(DataGridPreparingCellForEditEventArgs e)
{
base.OnPreparingCellForEdit(e);
TextBox textBox = e.EditingElement as TextBox;
if (textBox != null)
{
textBox.TextChanged -= OnTextChanged;
textBox.TextChanged += OnTextChanged;
}
ComboBox comboBox = e.EditingElement as ComboBox;
if (comboBox != null)
{
comboBox.SelectionChanged -= OnSelectionChanged;
comboBox.SelectionChanged += OnSelectionChanged;
}
}
private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox comboBox = sender as ComboBox;
if (comboBox == null)
return;
BindingExpression expression = comboBox.GetBindingExpression(ComboBox.SelectedValueProperty);
if (expression != null)
expression.UpdateSource();
expression = comboBox.GetBindingExpression(ComboBox.SelectedItemProperty);
if (expression != null)
expression.UpdateSource();
}
private void OnTextChanged(object sender, TextChangedEventArgs e)
{
TextBox textBox = sender as TextBox;
if (textBox == null)
return;
BindingExpression expression = textBox.GetBindingExpression(TextBox.TextProperty);
if (expression == null)
return;
expression.UpdateSource();
}
0
只是在你設置datagrid的itemssource的類上實現INotifyPropertyChanged。
例如
public class CustomType:INotifyPropertyChanged
{
}
List<CustomType> list=new List<CustomType>();
添加項目
datagrid.ItemsSource=list;
綁定模式=雙向
相關問題
- 1. 如何獲取綁定以在值更改時進行更新?
- 2. 當底層數據更改時更新Silverlight DataGrid
- 3. 如何在ObserveableCollection屬性更改時更新Silverlight中的DataGrid
- 4. WPF Datagrid與數據綁定,更改ItemsSource
- 5. DataGrid在重新綁定新數據存儲時不會更新
- 6. 在數據庫更改時更新ASP.NET數據綁定GridView
- 7. Silverlight更新綁定
- 8. 綁定集合更新時Wpf datagrid行不更新?
- 9. Silverlight,數據綁定列表然後更改該列表,如何更新?
- 10. 如何在FireBase中更改數據後更新/綁定視圖?
- 11. 更新DataGrid更改爲數據庫?
- 12. 如何在Silverlight的devexpress datagrid中按行綁定數據4
- 13. Silverlight中如何重新綁定的DataGrid
- 14. 更新TextBox綁定到DataGrid
- 15. XAML數據綁定在屬性更改時不更新UI
- 16. 控件在綁定數據源更改時沒有更新?
- 17. 當DataSource更改時,DataGridRowGroupHeader中的Silverlight綁定不會更新
- 18. WPF DataGrid - 如何掛起數據綁定的UI更新並稍後進行批量更新
- 19. DataGrid,TextBox - 綁定和即時更新
- 20. 使用過時值進行數據綁定更新
- 21. Silverlight綁定不更新
- 22. 強制綁定更新Silverlight
- 23. I18Next&Polymer:更新語言更改時的數據綁定
- 24. 更改綁定數據時DataRepeater不會更新
- 25. 當ObservableCollection值更新時WPF Datagrid綁定不更新
- 26. Wpf DataGrid:在運行時更改XML字段綁定
- 27. Silverlight DataGrid運行時添加和綁定
- 28. 數據綁定在使用{綁定}或{綁定}時未更新
- 29. 在silverlight datagrid中更改特定行的行模板
- 30. 更改Silverlight Datagrid中的行顏色
這並沒有回答我的問題。我已經在使用'INotifyPropertyChanged'。當網格改變時,我需要改變發生在相反的方向,對象也應該改變。瞬間,而不必離開牢房。 – Jordan 2011-04-15 19:22:33
如果綁定模式設置TwoWay – Nario 2011-04-15 19:30:58
{綁定路徑= PropertyName,Mode = TwoWay} – Nario 2011-04-15 19:31:31