WinDataGridValidation.xaml.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using FWindSoft.Wpf;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15. namespace Test.ValidateRule
  16. {
  17. /// <summary>
  18. /// WinDataGridValidation.xaml 的交互逻辑
  19. /// </summary>
  20. public partial class WinDataGridValidation : Window
  21. {
  22. /*验证dataGrid信息方式
  23. * 行方式: <DataGrid.RowValidationRules>这个里面写每一行会产生一个BindingGroup,传入验证的value也是BindingGroup
  24. * 单元格方式,传入的value,就是实际的绑定值
  25. * 整体方式?有没有【后台雁阵,还SelectedItem赋值】
  26. *
  27. * 行验证错误,会遮盖列验证错误
  28. */
  29. private VmDataGriValidation m_Vm;
  30. public WinDataGridValidation()
  31. {
  32. InitializeComponent();
  33. this.m_Vm = new VmDataGriValidation();
  34. this.DataContext = this.m_Vm;
  35. }
  36. private void Button_Click(object sender, RoutedEventArgs e)
  37. {
  38. var dd = DataGrid.BindingGroup;
  39. var cells = this.DataGrid.GetSpecifyTypeChildren<DataGridCell>();
  40. foreach (var cell in cells)
  41. {
  42. //var binding=cell.getbi
  43. var ss = cell.BindingGroup;
  44. }
  45. var collection = Validation.GetErrors(DataGrid);
  46. var cc = this.HasError();
  47. }
  48. }
  49. }