DynamicGridDateTimeColumn.cs 994 B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using System.Windows.Data;
  6. using InABox.Core;
  7. using InABox.WPF;
  8. using Microsoft.Xaml.Behaviors;
  9. using Syncfusion.UI.Xaml.Grid;
  10. namespace InABox.DynamicGrid;
  11. public class DynamicGridDateTimeColumn<TEntity> : DynamicGridMaskColumn<TEntity,DateTimeEditor>
  12. where TEntity : BaseObject
  13. {
  14. protected override Behavior CreateBehaviour() =>
  15. new TextBoxDateTimeMaskBehavior(Definition?.Format);
  16. protected override IValueConverter CreateConverter() =>
  17. new DateTimeToStringConverter(Definition?.Format);
  18. protected override Button[] CreateButtons(TextBox textbox)
  19. {
  20. var button = new Button();
  21. button.Content = "x";
  22. button.Width = 25;
  23. button.Click += (sender, args) => textbox.Text = "";
  24. return new Button[] { button };
  25. }
  26. public DynamicGridDateTimeColumn(DynamicGridColumn definition) : base(definition)
  27. {
  28. }
  29. }