首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextWrap in StackPanel

TextWrap in StackPanel
EN

Stack Overflow用户
提问于 2018-07-27 17:43:39
回答 2查看 244关注 0票数 5

我有一个UserControl,它有几个按钮和一些Textblock。出于某种原因,TextWrap不适用于这个Textblock。

代码语言:javascript
复制
  <StackPanel Grid.Column="0" Margin="0 0 0 10">
        <TextBlock  FontWeight="DemiBold" Text="Account closure" x:Name="Message" 
               Margin="0 6 0 2"
               FontSize="18" />
        <StackPanel Orientation="Horizontal"  >
            <TextBlock   Text="A random text here, here, here " 
                    Margin="0 6 0 0"
                    FontSize="18" />
            <TextBlock   Text="AZEQSD"
                         Margin="0 6 0 0"
                      TextWrapping="Wrap"  FontWeight="DemiBold" FontSize="18" />
        </StackPanel>
    </StackPanel>

输出(选定的部分=第二个StackPanel),而鼠标的部分则设置为TextWrapping属性为Wrap的第二个文本块。

看这里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-27 17:54:21

DockPanel可以更好地适应这种情况:

代码语言:javascript
复制
<StackPanel Grid.Column="0" Margin="0 0 0 10">
    <TextBlock  FontWeight="DemiBold" Text="Account closure" x:Name="Message" 
           Margin="0 6 0 2"
           FontSize="18" />
    <DockPanel>
        <TextBlock DockPanel.Dock="Left"  Text="A random text here, here, here " 
                Margin="0 6 0 0"
                FontSize="18" />
        <TextBlock   Text="AZEQSD"
                     Margin="0 6 0 0"
                  TextWrapping="Wrap"  FontWeight="DemiBold" FontSize="18" />
    </DockPanel>
</StackPanel>

编辑:

引用BradleyDotNET的评论:

这是因为DockPanel将把最后一个子节点限制到剩余的空间,并填充它的容器,即受网格约束的堆栈面板。

Edit2:

您可以使用WrapPanel将te整个第二个文本块换到下一行:

代码语言:javascript
复制
<StackPanel Grid.Column="0" Margin="0 0 0 10">
    <TextBlock  FontWeight="DemiBold" Text="Account closure" x:Name="Message" 
           Margin="0 6 0 2"
           FontSize="18" />
    <WrapPanel>
        <TextBlock DockPanel.Dock="Left"  Text="A random text here, here, here " 
                Margin="0 6 0 0"
                FontSize="18" />
        <TextBlock   Text="AZEQSD"
                     Margin="0 6 0 0"
                  TextWrapping="Wrap"  FontWeight="DemiBold" FontSize="18" />
    </WrapPanel>
</StackPanel>
票数 3
EN

Stack Overflow用户

发布于 2018-07-27 17:54:54

StackPanel大小,以适应它的内容,除非它实际上给定了一个大小。因此,在“基本”情况下,单词包装不像您所显示的那样有效。

“主”TextBlock中的StackPanel将有包装工作,因为它的宽度受到Grid.Column的限制。嵌套的StackPanel没有这样的限制。最简单的方法是将第二个堆栈面板放在主网格中(第1行,第0列),这样它也会受到约束;尽管还有许多其他的可能性。

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

https://stackoverflow.com/questions/51563055

复制
相关文章

相似问题

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