DynamicGridColumnsEditor.xaml.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using InABox.Core;
  2. using InABox.Wpf;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. namespace InABox.DynamicGrid;
  8. /// <summary>
  9. /// Interaction logic for DynamicGridColumnsEditor.xaml
  10. /// </summary>
  11. public partial class DynamicGridColumnsEditor : ThemableWindow
  12. {
  13. private readonly DynamicColumnGrid ColumnGrid;
  14. public DynamicGridColumnsEditor(IDynamicGridColumnSchema schema, Type? type)
  15. {
  16. InitializeComponent();
  17. if(type is null)
  18. {
  19. Title = "Select Columns";
  20. }
  21. else
  22. {
  23. Title = $"Select Columns for {CoreUtils.Neatify(type.Name)}";
  24. }
  25. ColumnGrid = new DynamicColumnGrid(schema);
  26. ColumnGrid.SetValue(Grid.ColumnSpanProperty, 3);
  27. ColumnGrid.Margin = new Thickness(5F, 5F, 5F, 5F);
  28. grid.Children.Add(ColumnGrid);
  29. Columns = ColumnGrid.Columns;
  30. //ColumnGrid.OnEditItem += Columns_OnEditItem;
  31. }
  32. public DynamicGridColumns Columns { get; }
  33. public bool DirectEdit
  34. {
  35. get => ColumnGrid.DirectEdit;
  36. set => ColumnGrid.DirectEdit = value;
  37. }
  38. //private bool Columns_OnEditItem(object sender, object item)
  39. //{
  40. // DynamicEditor editor = new DynamicEditor();
  41. // editor.OnDefineGridColumns += Editor_OnDefineGridColumns;
  42. // editor.Item = item;
  43. // if (editor.ShowDialog() == true)
  44. // return true;
  45. // return false;
  46. //}
  47. //private DynamicGridColumns Editor_OnDefineGridColumns(object sender, DynamicGridColumns master)
  48. //{
  49. // return ColumnGrid.DefineColumns();
  50. //}
  51. private void OKButton_Click(object sender, RoutedEventArgs e)
  52. {
  53. DialogResult = true;
  54. Close();
  55. }
  56. private void CancelButton_Click(object sender, RoutedEventArgs e)
  57. {
  58. DialogResult = false;
  59. Close();
  60. }
  61. private void Window_Loaded(object sender, RoutedEventArgs e)
  62. {
  63. ColumnGrid.Refresh(true, true);
  64. }
  65. }