我想扩展一个WPF按钮来存储一些额外的数据,与当前的"Tag"属性类似.附属物是前进的方向吗?我想要存储的数据将是一个URL链接字符串,例如我希望能够执行以下操作:
谁能帮我理解如何扩展按钮?
非常感谢
松鸦
您可以使用附属物:
public class ButtonBehavior { public static readonly DependencyProperty UrlLinkProperty = DependencyProperty.RegisterAttached("UrlLink", typeof(ButtonBase), typeof(ButtonBehavior), new FrameworkPropertyMetadata(null)); public static string GetUrlLink(DependencyObject d) { return (string)d.GetValue(UrlLinkProperty); } public static void SetUrlLink(DependencyObject d, string value) { d.SetValue(UrlLinkProperty, value); } }
然后你可以像这样声明你的按钮:
而你点击处理程序将如下所示:
protected void btnArticleView(object sender, RoutedEventArgs e) { Button rb = sender as Button; string TheTitle = rb.Tag.ToString(); string TheURL = ButtonBehavior.GetUrlLink(rb); // Further code here }