DynamicGridColumnsEditor.xaml.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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(Type type)
  15. {
  16. InitializeComponent();
  17. Type = type;
  18. Title = $"Select Columns for {CoreUtils.Neatify(type.Name)}";
  19. ColumnGrid = new DynamicColumnGrid { Type = type };
  20. ColumnGrid.SetValue(Grid.ColumnSpanProperty, 3);
  21. ColumnGrid.Margin = new Thickness(5F, 5F, 5F, 5F);
  22. grid.Children.Add(ColumnGrid);
  23. Columns = ColumnGrid.Columns;
  24. //ColumnGrid.OnEditItem += Columns_OnEditItem;
  25. }
  26. public Type Type { get; set; }
  27. public DynamicGridColumns Columns { get; }
  28. public bool DirectEdit
  29. {
  30. get => ColumnGrid.DirectEdit;
  31. set => ColumnGrid.DirectEdit = value;
  32. }
  33. //private bool Columns_OnEditItem(object sender, object item)
  34. //{
  35. // DynamicEditor editor = new DynamicEditor();
  36. // editor.OnDefineGridColumns += Editor_OnDefineGridColumns;
  37. // editor.Item = item;
  38. // if (editor.ShowDialog() == true)
  39. // return true;
  40. // return false;
  41. //}
  42. //private DynamicGridColumns Editor_OnDefineGridColumns(object sender, DynamicGridColumns master)
  43. //{
  44. // return ColumnGrid.DefineColumns();
  45. //}
  46. private void OKButton_Click(object sender, RoutedEventArgs e)
  47. {
  48. DialogResult = true;
  49. Close();
  50. }
  51. private void CancelButton_Click(object sender, RoutedEventArgs e)
  52. {
  53. DialogResult = false;
  54. Close();
  55. }
  56. private void Window_Loaded(object sender, RoutedEventArgs e)
  57. {
  58. ColumnGrid.Type = Type;
  59. ColumnGrid.Refresh(true, true);
  60. }
  61. }