4

TextBlock にインラインを追加しています。Run() インラインは機能します。もちろん、Hyperlink() は何らかの理由で Wi​​ndows 8 (Windows.UI.Xaml.Documents を使用) で非推奨になっているため、C# を使用して InlineUIContainer に HyperlinkBut​​ton をカプセル化しようとしています。コンセプトが正しいことはわかっていますが、私のコードは失敗しています。

「using Windows.UI.Xaml.Documents;」という行をコメントアウトすると、次に、周囲の 2 つのインラインを ListView に表示します (以下のメソッドを使用します)。この行のコメントを外すと、「リンク」の Inlines.Add がスローされます。私は何を間違っていますか?

    public TextBlock enrichPostText(anFullPost post)
    {
        TextBlock text_block = new TextBlock();
        text_block.Inlines.Clear();
        var holdText = new Run();
        holdText.Text = "Test start >> ";
        text_block.Inlines.Add(holdText);

        HyperlinkButton linkButton = new HyperlinkButton();
        linkButton.NavigateUri = new Uri("http://www.cones.net");
        linkButton.Content = "click me";
        linkButton.Name = "_blank";

        InlineUIContainer link = new InlineUIContainer();
        link.Child = linkButton;

        text_block.Inlines.Add(link);

        var holdText2 = new Run();
        holdText2.Text = " << end test.";
        text_block.Inlines.Add(holdText2);

        return (text_block);
    }
4

2 に答える 2

2

MSDN でこれを見つけたので、参考になるかもしれません。どうやら TextBlock コンテンツ モデルは InlineUIContainers をサポートしていないため、例外がスローされます。 http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/thread/96585db1-8ed4-4a12-8d63-b427dc0d543d/

于 2013-02-03T20:31:55.700 に答える
0

myRichTextBlockを aTextBlockに変更しよArgumentExceptionうとしましたが、InlineUIContainer. 私が知っている唯一の解決策は、RichTextBlock代わりに使用することです。これまでのところ、それは私のニーズに合っています。

于 2012-12-09T05:22:22.183 に答える