在Silverlight中有一个非常好的特性就是Tag属性,它可以被用来给任何可视化的元素添加任意的文本。我们可以使用它来给我们的应用程序添加超链接。下面的步骤介绍了如何实现:
1. 将某个元素的Tag属性设置为超链接的URL:
<TextBlock Width="14.8" Height="14.8" Text="i" TextWrapping="Wrap" FontFamily="Webdings" Foreground="#FF71FF0D" Canvas.Left="135.2" Canvas.Top="85.2" Cursor="Hand" Tag="http://blogs.msdn.com/synergist"/>
2. 然后,当整个场景被加载后或者当我们加载额外的XAML内容的时候,调用一个JavaScript函数 AddLinks():
function AddLinks(visual)
{
if (visual.Tag != "")
{
visual.AddEventListener("MouseLeftButtonDown", ClickPageLink);
visual.Cursor = "Hand";
}
if (visual.toString() == "Canvas")
{
for (var i = 0; i < visual.children.count; i++)
{
AddLinks(visual.children.getItem(i));
}
}
}
function ClickPageLink(sender, eventArgs)
{
window.open(sender.Tag, "_blank");
}
这样我们就可以添加超链接到任何可视化的元素中了。
1. 将某个元素的Tag属性设置为超链接的URL:
<TextBlock Width="14.8" Height="14.8" Text="i" TextWrapping="Wrap" FontFamily="Webdings" Foreground="#FF71FF0D" Canvas.Left="135.2" Canvas.Top="85.2" Cursor="Hand" Tag="http://blogs.msdn.com/synergist"/>
2. 然后,当整个场景被加载后或者当我们加载额外的XAML内容的时候,调用一个JavaScript函数 AddLinks():
function AddLinks(visual)
{
if (visual.Tag != "")
{
visual.AddEventListener("MouseLeftButtonDown", ClickPageLink);
visual.Cursor = "Hand";
}
if (visual.toString() == "Canvas")
{
for (var i = 0; i < visual.children.count; i++)
{
AddLinks(visual.children.getItem(i));
}
}
}
function ClickPageLink(sender, eventArgs)
{
window.open(sender.Tag, "_blank");
}
这样我们就可以添加超链接到任何可视化的元素中了。
本文为转载,作为留档使用,非原创作品!