首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF Inlines.add:防止换行

WPF Inlines.add:防止换行
EN

Stack Overflow用户
提问于 2019-05-06 06:41:23
回答 2查看 186关注 0票数 0

我在WPF项目工作,我是这方面的新手。我需要添加程序链接。在链接前后,我想添加一些单词。在链接前的单词之后,我放了断线。但是链接后面的单词不需要换行,而是在同一行中继续。但是,在我添加的每一个元素之后,我都得到了行分隔符'inlines.add‘。

有解决办法吗?

这是我的代码:

代码语言:javascript
复制
        TextBlock tb = new TextBlock();

        tb.Inlines.Add("this is my prefix 
");
        Hyperlink h = new Hyperlink();
        h.NavigateUri = new System.Uri(helpLinkURL);
        h.Inlines.Add("here is link text");
        h.RequestNavigate += Hyperlink_RequestNavigate;
        tb.Inlines.Add(h);
        tb.Inlines.Add("this is my suffix");
        helpLinkPlaceHolder.Inlines.Add(tb);

I get:

这是我的前缀 这是链接文本 这是我的后缀

,这就是我想要的:

这是我的前缀 这是链接文本,这是我的后缀

EN

回答 2

Stack Overflow用户

发布于 2019-05-06 07:07:40

尝试使用而不是TextBlock。它有很好的特性和功能,可以让你这样做。

票数 0
EN

Stack Overflow用户

发布于 2019-05-06 12:27:05

以这种方式,您可以在后面的代码中这样做:

代码语言:javascript
复制
var hyperlink = new Hyperlink(new Run("here is link text"))
{
    NavigateUri = new Uri("https://google.com")
};
hyperlink.RequestNavigate += Hyperlink_RequestNavigate;

var textblock = new TextBlock
{
    Inlines =
    {
        new Run("this is my prefix"),
        new LineBreak(),
        hyperlink,
        new Run(" this is my suffix")
    }
};
placeholderContentControl.Content = textblock;

placeholderContentControl是<ContentControl>型的

如何在XAML:中完成它

代码语言:javascript
复制
<Grid>
    <TextBlock Grid.Row="0">
        this is my prefix
        <LineBreak />
        <Hyperlink NavigateUri="https://google.com" RequestNavigate="Hyperlink_RequestNavigate">
            here is link text
        </Hyperlink>
        this is my suffix
    </TextBlock>
</Grid>

都会产生请求的结果: 图像

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55999991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档