windows-phone-7 - 如何在wp7中的可点击文本 block 中设置链接

标签 windows-phone-7 windows-phone-7.1

我有一个包含链接的文本框。文本的内容是在运行时生成的。我的问题是文本内的链接不可单击,如何使文本块内的所有链接可单击,因此当我点击链接时应该打开Web浏览器。在android中,我们可以使用自动链接进行设置.wp7或wp7.1芒果中是否提供了这样的选项?

最佳答案

使用HyperLink

<TextBlock>
    <Run>Pure Text</Run>
    <Hyperlink Command="{Binding HyperLinkTapped}">http://google.com</Hyperlink>
    <Run>Pure Text Again</Run>
</TextBlock>

Windows Phone 7.1(Mango)支持此功能。

如果需要,您可以在运行时根据数据创建自己的FlowDocument。

有关如何从字符串生成FlowDocument的示例:
private void OnMessageReceived(string message)
{
    var textBlock = new RichTextBox()
    {
        TextWrapping = TextWrapping.Wrap,
        IsReadOnly = true,
    };

    var paragraph = new Paragraph();

    var runs = new List<Inline>();

    foreach (var word in message.Split(' '))
    {
        Uri uri;

        if (Uri.TryCreate(word, UriKind.Absolute, out uri) ||
           (word.StartsWith("www.") && Uri.TryCreate("http://" + word, UriKind.Absolute, out uri)))
        {
            var link = new Hyperlink();
            link.Inlines.Add(new Run() { Text = word });
            link.Click += (sender, e) =>
            {
                var hyperLink = (sender as Hyperlink);
                new WebBrowserTask() { Uri = uri }.Show();
            };

            runs.Add(link);
        }
        else
        {
            runs.Add(new Run() { Text = word });
        }

        runs.Add(new Run() { Text = " "});
    }

    foreach (var run in runs)
        paragraph.Inlines.Add(run);

    textBlock.Blocks.Add(paragraph);

    MessagesListBox.Children.Add(textBlock);
    MessagesListBox.UpdateLayout();
}

关于windows-phone-7 - 如何在wp7中的可点击文本 block 中设置链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7567600/

相关文章:

html - 在我的域服务器上使用 Ruby on Rails 应用程序

windows-phone-7 - 如何在 Windows Phone 7 上使用 rsa 库?

windows-phone-7 - 在 WP7 上的孤立存储中存储大列表

c# - 尝试获取嵌套在数据模板中的按钮后面的代码

windows-phone-7.1 - 放大 Windows Phone 7

c# - 在Windows Phone XNA游戏中使用TTF字体

windows-phone-7 - PhoneApplicationService.Current.State 是如何被记住的

transactions - WP7 上 SQL CE 中的事务

windows-phone-7 - 如何覆盖 Windows Phone 应用程序中的相机按钮?

c# - Windows Phone 7 芒果使用音频流