One of the features that I was glad to see added to Silverlight 1.0 was the Tag attribute which can be used to add any metadata (hidden) text to any visual element. I have been using it to add hyperlink features to my applications. Here's how I do it:
<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"/>
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"); }
This lets me add hyperlinks to any visual element in a scene.