WPF中的绝对定位

时间:2009-03-02 09:27:52

标签: wpf

我有一个很长的文本并在TextBlock中显示第一句话。 我希望通过单击TextBlock或按钮在TextBlock下面显示一个带有全文的面板。我希望这个面板绝对定位并显示在任何其他元素之上,你可以在HTML中显示和隐藏绝对定位的'div'元素。 如何在WPF中执行此操作? 感谢您的任何建议。

2 个答案:

答案 0 :(得分:3)

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>

答案 1 :(得分:0)