WPF中的绝对定位

3

我有一段长文本,想要在一个TextBlock中显示第一句话。我希望通过点击TextBlock或按钮来显示一个面板,其中包含完整的文本。我希望这个面板是绝对定位的,并且显示在其他元素之上。你可以在HTML中使用绝对定位的'div'元素来实现类似的功能。

如何在WPF中实现这个功能?谢谢任何建议。

2个回答

4
AdornerLayer 可以使用,但可能有点复杂。其他选项包括使用 PopUpsToolTips -- 你应该先研究这些作为最简单的选择。
如果这些都不行,那么取决于你正在使用什么样的面板。例如,如果你正在使用一个 Canvas,你只需要确保在元素上设置正确的 ZIndex 即可。
为了使这更加健壮,建议如下:
<!-- Set Panel.ZIndex="99" when showing hidden area to ensure top placement -->
<Grid>
  <TextBlock>This is my primary bit of text ...</TextBlock>

  <!-- Canvas stays hidden until we want to show the rest of the text -->
  <Canvas Visibility="Hidden">
    <TextBlock Canvas.Bottom="-10">Content goes here</TextBlock>
  </Canvas>
</Grid>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接