【发布时间】:2015-01-19 08:03:29
【问题描述】:
我有一个列表框,每个列表框项都包含一个带有两个元素 TextBlock 和一个标签的 DockPanel。以下是 xaml 代码 -
<ListBox HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBoxItem>
<DockPanel>
<TextBlock Text="Ted its so wonderfull I am gere asdf asdf asdf adsf asdf asdf asdfasf asfd asf asdf asdf asdf asdf asdasfd asf " TextWrapping="Wrap"></TextBlock>
<Label Content="Click Me" HorizontalAlignment="Right"></Label>
</DockPanel>
</ListBoxItem>
<ListBoxItem>
<DockPanel>
<TextBlock Text="Ted its so wonderfull Ted its so wonderfull I am gere asdf asdf asdf adsf asdf asdf asdfasf asfd asf asdf asdf asdf asdf asdasfd asf" TextWrapping="Wrap"></TextBlock>
<Label Content="Click Me" HorizontalAlignment="Right"></Label>
</DockPanel>
</ListBoxItem>
</ListBox>
所以我期待一个窗口,其中每行将有两个元素,第一个列是文本块,下一个是标签。我为标签添加了 HorizonatalContentAlignment=stretch 和 HorizontalAlignment=Right,当用户调整窗口大小时,标签应该移到右端。
但是我在上面的代码中面临的问题是,当我调整窗口大小并且文本块开始换行时,Textblock 隐藏/重叠了 Label 元素。在某些情况下,当文本块中的单词与窗口的右端完全对齐时,标签会完全隐藏,还是部分隐藏?
为什么第二个元素会重叠或隐藏?我想始终显示点击我的标签,如何实现?
【问题讨论】: