Card.cs 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System.ComponentModel;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. namespace HandyControl.Controls;
  5. public class Card : ContentControl
  6. {
  7. public static readonly DependencyProperty HeaderProperty = DependencyProperty.Register(
  8. nameof(Header), typeof(object), typeof(Card), new PropertyMetadata(default(object)));
  9. public object Header
  10. {
  11. get => GetValue(HeaderProperty);
  12. set => SetValue(HeaderProperty, value);
  13. }
  14. public static readonly DependencyProperty HeaderTemplateProperty = DependencyProperty.Register(
  15. nameof(HeaderTemplate), typeof(DataTemplate), typeof(Card), new PropertyMetadata(default(DataTemplate)));
  16. [Bindable(true), Category("Content")]
  17. public DataTemplate HeaderTemplate
  18. {
  19. get => (DataTemplate) GetValue(HeaderTemplateProperty);
  20. set => SetValue(HeaderTemplateProperty, value);
  21. }
  22. public static readonly DependencyProperty HeaderTemplateSelectorProperty = DependencyProperty.Register(
  23. nameof(HeaderTemplateSelector), typeof(DataTemplateSelector), typeof(Card), new PropertyMetadata(default(DataTemplateSelector)));
  24. [Bindable(true), Category("Content")]
  25. public DataTemplateSelector HeaderTemplateSelector
  26. {
  27. get => (DataTemplateSelector) GetValue(HeaderTemplateSelectorProperty);
  28. set => SetValue(HeaderTemplateSelectorProperty, value);
  29. }
  30. public static readonly DependencyProperty HeaderStringFormatProperty = DependencyProperty.Register(
  31. nameof(HeaderStringFormat), typeof(string), typeof(Card), new PropertyMetadata(default(string)));
  32. [Bindable(true), Category("Content")]
  33. public string HeaderStringFormat
  34. {
  35. get => (string) GetValue(HeaderStringFormatProperty);
  36. set => SetValue(HeaderStringFormatProperty, value);
  37. }
  38. public static readonly DependencyProperty FooterProperty = DependencyProperty.Register(
  39. nameof(Footer), typeof(object), typeof(Card), new PropertyMetadata(default(object)));
  40. public object Footer
  41. {
  42. get => GetValue(FooterProperty);
  43. set => SetValue(FooterProperty, value);
  44. }
  45. public static readonly DependencyProperty FooterTemplateProperty = DependencyProperty.Register(
  46. nameof(FooterTemplate), typeof(DataTemplate), typeof(Card), new PropertyMetadata(default(DataTemplate)));
  47. [Bindable(true), Category("Content")]
  48. public DataTemplate FooterTemplate
  49. {
  50. get => (DataTemplate) GetValue(FooterTemplateProperty);
  51. set => SetValue(FooterTemplateProperty, value);
  52. }
  53. public static readonly DependencyProperty FooterTemplateSelectorProperty = DependencyProperty.Register(
  54. nameof(FooterTemplateSelector), typeof(DataTemplateSelector), typeof(Card), new PropertyMetadata(default(DataTemplateSelector)));
  55. [Bindable(true), Category("Content")]
  56. public DataTemplateSelector FooterTemplateSelector
  57. {
  58. get => (DataTemplateSelector) GetValue(FooterTemplateSelectorProperty);
  59. set => SetValue(FooterTemplateSelectorProperty, value);
  60. }
  61. public static readonly DependencyProperty FooterStringFormatProperty = DependencyProperty.Register(
  62. nameof(FooterStringFormat), typeof(string), typeof(Card), new PropertyMetadata(default(string)));
  63. [Bindable(true), Category("Content")]
  64. public string FooterStringFormat
  65. {
  66. get => (string) GetValue(FooterStringFormatProperty);
  67. set => SetValue(FooterStringFormatProperty, value);
  68. }
  69. }