加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF- WrapPanel中的截止问题

发布时间:2020-12-16 01:58:46 所属栏目:百科 来源:网络整理
导读:当我在包装面板中使用多个控件时,如果任何控件包含冗长的文本(超过窗口大小),则会发生切断. (见图) 我有两个文本块和一个按钮控件. Grid WrapPanel TextBlock Text="Very long Text Message contains long text for testing " FontWeight="Bold"/TextBlock B
当我在包装面板中使用多个控件时,如果任何控件包含冗长的文本(超过窗口大小),则会发生切断. (见图)

我有两个文本块和一个按钮控件.

<Grid>
        <WrapPanel>
            <TextBlock Text="Very long Text Message contains long text for testing " FontWeight="Bold"></TextBlock>
            <Button Content="sample Text"></Button>
            <TextBlock Text="sample Text  textblock"></TextBlock>

        </WrapPanel>
    </Grid>

截止发生在第一个文本块.如果文本包含更多字符,我想要换行到下一行.

帮我解决问题.提前致谢.

解决方法

你试图制作一个包裹的段落吗?如果是这样,那么WrapPanel实际上并不是你想要的.

WrapPanel采用UI元素(不动产的矩形块)并从左到右,从上到下排列.您可以在第一个TextBlock中启用换行,但它会占用一个高两行的屏幕空间矩形.因为TextBlock填充整个矩形,按钮实际上会显示在它下面,而不是在粗体字“for testing”的右边.

如果你想让整个事件像段落一样流动,你不想使用UI元素(总是矩形块);你想使用文本元素(在段落中流动).

将文本元素放入XAML的方法是将它们包装在TextBlock中.试试这个:

<Grid>
    <TextBlock TextWrapping="Wrap">
        <Bold>
            <Run Text="Very long Text Message contains long text for testing " />
        </Bold>
        <Button Content="sample Text"></Button>
        sample Text  textblock
    </TextBlock>
</Grid>

请注意,我在< Run>中包装了第一块文本. element – 否则将忽略尾随空格(假设您的XAML文档中为空格).第二块文本没有前导或尾随空格,所以我只是将它直接放入内联.

This answer有更多关于XAML的“控件”和“文本”端之间的区别.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读