UWP:将InlineUIContainer添加到超链接失败

时间:2015-10-23 17:15:16

标签: c# xaml uwp win-universal-app

在我的UWP(通用Windows平台)应用中,我需要创建一个带有图像的Hyperlink元素:

var hyperlink = new Hyperlink();
var container = new InlineUIContainer { Child = new Image() { ... } }; 
hyperlink.Inlines.Add(container);

Hyperlink稍后会与其他元素一起添加到TextBlock。我的问题是,最后一行(Inlines.Add())抛出异常:

Exception thrown: 'System.ArgumentException' in mscorlib.ni.dll
Additional information: Value does not fall within the expected range.

有人知道解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:5)

我认为你不能这样做。解决方法是使用RichTextBlock代替HyperlinkButton

所以尝试在代码中执行此结构 -

<RichTextBlock>
    <Paragraph>
        <Italic>This is an inline image.</Italic>

        <InlineUIContainer>
            <HyperlinkButton NavigateUri="http://www.nba.com">
                <Image Source="Assets/StoreLogo.png" />
            </HyperlinkButton>
        </InlineUIContainer>

        Yes it is.
    </Paragraph>
</RichTextBlock>