DynamicGridColumnsEditor.xaml.cs 2.1 KB

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