我想扩展一个 WPF 按钮来存储一些额外的数据,类似于当前的“Tag”属性。附加属性是前进的方向吗?我想要存储的数据将是一个 URL 链接字符串,例如我希望能够执行以下操作:
<Button Tag="BBC World News" URLLink="http://www.bbc.co.uk"/>
谁能帮助我了解如何扩展按钮?
非常感谢
Jay
您可以使用附属财产 http://msdn.microsoft.com/en-us/library/ms749011.aspx:
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);
}
}
然后你可以像这样声明你的按钮:
<Button Tag="BBC World News" ButtonBehavior.UrlLink="http://www.bbc.co.uk" Click="btnArticleView"/>
您的单击处理程序将如下所示:
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
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)