CenterControl.xaml.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System.Runtime.Versioning;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. using SHJX.Service.Common.Utils;
  5. namespace SHJX.Service.Library.Views
  6. {
  7. /// <summary>
  8. /// CenterControl.xaml 的交互逻辑
  9. /// </summary>
  10. public partial class CenterControl : UserControl
  11. {
  12. public CenterControl()
  13. {
  14. InitializeComponent();
  15. }
  16. #region TagNameText
  17. public string TagNameText
  18. {
  19. get => (string)GetValue(TagNameTextProperty);
  20. set => SetValue(TagNameTextProperty, value);
  21. }
  22. public static readonly DependencyProperty TagNameTextProperty =
  23. DependencyProperty.Register(
  24. nameof(TagNameText), typeof(string),
  25. typeof(CenterControl), new UIPropertyMetadata(string.Empty, TagNameTextChangedCallback));
  26. private static void TagNameTextChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs args)
  27. {
  28. var control = obj as CenterControl;
  29. var path = control?.TagName;
  30. path.Text = args.NewValue.ToString();
  31. }
  32. #endregion
  33. #region CenterText
  34. public string CenterText
  35. {
  36. get => (string)GetValue(CenterTextProperty);
  37. set => SetValue(CenterTextProperty, value);
  38. }
  39. public static readonly DependencyProperty CenterTextProperty =
  40. DependencyProperty.Register(
  41. nameof(CenterText), typeof(string),
  42. typeof(CenterControl), new UIPropertyMetadata(string.Empty, CenterTextChangedCallback));
  43. private static void CenterTextChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs args)
  44. {
  45. var control = obj as CenterControl;
  46. var path = control?.LocalName;
  47. path.Text = args.NewValue.ToString();
  48. }
  49. #endregion
  50. #region 中间部分的颜色值
  51. public string BackColor
  52. {
  53. get => (string)GetValue(BackColorProperty);
  54. set => SetValue(BackColorProperty, value);
  55. }
  56. public static readonly DependencyProperty BackColorProperty =
  57. DependencyProperty.Register(
  58. nameof(BackColor), typeof(string),
  59. typeof(CenterControl), new UIPropertyMetadata(string.Empty, BackColorChangedCallback)
  60. );
  61. private static void BackColorChangedCallback(DependencyObject obj, DependencyPropertyChangedEventArgs args)
  62. {
  63. var control = obj as CenterControl;
  64. var path = control?.CBorder;
  65. path.Background = args.NewValue.ToString().ConvertToBrush();
  66. }
  67. #endregion
  68. }
  69. }