HeaderPanel.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System.Windows;
  2. using System.Windows.Controls;
  3. namespace MECF.Framework.UI.Core.Style
  4. {
  5. /// <summary>
  6. /// 按照步骤 1a 或 1b 操作,然后执行步骤 2 以在 XAML 文件中使用此自定义控件.
  7. ///
  8. /// 步骤 1a) 在当前项目中存在的 XAML 文件中使用该自定义控件.
  9. /// 将此 XmlNamespace 特性添加到要使用该特性的标记文件的根
  10. /// 元素中:
  11. ///
  12. /// xmlns:MyNamespace="clr-namespace:BeanUI.Controls"
  13. ///
  14. ///
  15. /// 步骤 1b) 在其他项目中存在的 XAML 文件中使用该自定义控件.
  16. /// 将此 XmlNamespace 特性添加到要使用该特性的标记文件的根
  17. /// 元素中:
  18. ///
  19. /// xmlns:MyNamespace="clr-namespace:BeanUI.Controls;assembly=BeanUI.Controls"
  20. ///
  21. /// 您还需要添加一个从 XAML 文件所在的项目到此项目的项目引用,
  22. /// 并重新生成以避免编译错误:
  23. ///
  24. /// 在解决方案资源管理器中右击目标项目,然后依次单击
  25. /// “添加引用”->“项目”->[浏览查找并选择此项目]
  26. ///
  27. ///
  28. /// 步骤 2)
  29. /// 继续操作并在 XAML 文件中使用控件.
  30. ///
  31. /// <MyNamespace:HeaderPanel/>
  32. ///
  33. /// </summary>
  34. public class HeaderPanel : HeaderedContentControl
  35. {
  36. static HeaderPanel()
  37. {
  38. DefaultStyleKeyProperty.OverrideMetadata(typeof(HeaderPanel), new FrameworkPropertyMetadata(typeof(HeaderPanel)));
  39. }
  40. public string Title
  41. {
  42. get { return (string)GetValue(TitleProperty); }
  43. set { SetValue(TitleProperty, value); }
  44. }
  45. // Using a DependencyProperty as the backing store for Title. This enables animation, styling, binding, etc...
  46. public static readonly DependencyProperty TitleProperty =
  47. DependencyProperty.Register("Title", typeof(string), typeof(HeaderPanel), new PropertyMetadata(null));
  48. }
  49. }