Files
ShrlAlgoToolkit/NeuWPF/NeoUI/Assists/AnchorAssist.cs

49 lines
2.1 KiB
C#
Raw Normal View History

2025-08-20 12:10:13 +08:00
using NeumUI.Controls;
namespace NeumUI.Assists;
/// <summary>
/// 提供用于在WPF应用程序中添加和管理锚点的帮助类。通过此辅助类可以将特定的UI元素与一个标识字符串即“锚点”关联起来以便于在用户界面中快速导航到这些元素。
/// </summary>
/// <remarks>
/// 该类主要用于与<see cref="Anchor"/>控件协同工作,实现基于内容滚动位置自动更新当前高亮显示的锚点列表项等功能。
/// 它定义了一个附加属性<see cref="HeaderProperty"/>允许开发者为任何UI元素设置一个字符串形式的标识符作为锚点名称。
/// </remarks>
public class AnchorAssist
{
/// <summary>
/// 附加属性用于为UI元素指定一个字符串形式的标识符锚点名称。此属性允许开发者将特定的标识字符串与UI元素关联起来
/// 从而在WPF应用程序中实现基于内容滚动位置自动更新当前高亮显示的锚点列表项等功能。通过设置该属性可以方便地进行用户界面中的快速导航。
/// </summary>
public static readonly DependencyProperty HeaderProperty =
DependencyProperty.RegisterAttached(
"Header",
typeof(string),
typeof(AnchorAssist),
new PropertyMetadata(null));
/// <summary>
/// 获取指定依赖对象的Header属性值。
/// </summary>
/// <param name="obj">要获取Header属性值的依赖对象。</param>
/// <returns>返回指定依赖对象的Header属性值如果未设置则返回null。</returns>
public static string GetHeader(DependencyObject obj)
{
return (string)obj.GetValue(HeaderProperty);
}
/// <summary>
/// 为指定依赖对象设置Header属性值。
/// </summary>
/// <param name="obj">要设置Header属性的依赖对象。</param>
/// <param name="value">要设置的Header属性值类型为字符串。</param>
public static void SetHeader(DependencyObject obj, string value)
{
obj.SetValue(HeaderProperty, value);
}
}