Silverlight 超链接。单击“不执行”

Silverlight 超链接。单击“不执行”,silverlight,windows-phone,Silverlight,Windows Phone,我正在编写一个Windows Phone Mango应用程序。我有一个包含电子邮件地址的超链接。我希望它在点击时显示一个消息框: Hyperlink href = new Hyperlink(); href.Click += (s, r) => { MessageBox.Show("href clicked"); }; // add href to RichTextBox 当我在emulator中单击超链接时,什么也没有发生。调试器会命中click+=行,但不会命中new-Ema

我正在编写一个Windows Phone Mango应用程序。我有一个包含电子邮件地址的超链接。我希望它在点击时显示一个消息框:

Hyperlink href = new Hyperlink();
href.Click += (s, r) =>
{
    MessageBox.Show("href clicked");
};
// add href to RichTextBox
当我在emulator中单击超链接时,什么也没有发生。调试器会命中
click+=
行,但不会命中
new-EmailComposeTask()

我做错了什么?
Click
不是我想要的事件吗


更新:我将
EmailComposeTask
切换到
MessageBox
,以验证此问题与未在模拟器上运行的电子邮件撰写任务无关。我已经在我的设备上复制了这个问题。

您应该使用,是一个用于富文本文档呈现的类。

以下代码在设备上运行<代码>文本是RichTextBox对象

var linkText = new Run() { Text = "Link text" };
var link = new Hyperlink();
link.Inlines.Add(linkText);
link.Click += (o, e) =>
{
    MessageBox.Show("Link clicked");
};

var paragraph = new Paragraph();
paragraph.Inlines.Add(link);

text.Blocks.Add(paragraph);

以下代码起作用:

            GestureService.GetGestureListener(href); // adding this makes it work
            href.Click += (s, r) =>
            {
                 MessageBox.Show("href clicked");
                 new EmailComposeTask() { To = entireLink.Value }.Show();

            };
            href.Inlines.Add(new Run() { Text = entireLink.Value });

GetGestureListener
如果手势侦听器不存在,则创建该侦听器。

可能重复Nope-设备上的
MessageBox.Show()
也会出现同样的问题。我正在尝试使RichTextBox中的链接可单击。HyperlinkButton不能与其他RichTextBox内容很好地结合(对吧?)。