【问题标题】:WPF making a navigation panel in overlay (in front of other content)WPF 在叠加层中制作导航面板(在其他内容之前)
【发布时间】:2011-01-08 20:35:37
【问题描述】:

我有一个小型 WPF 应用程序,我在其中显示图像。我想在底部有一种透明的导航面板,我有几个小按钮(向左/向右旋转,平移等)。但是如何让导航面板在图片前面呢?我尝试过使用两行网格,但显然导航面板没有悬停在图像的“顶部”,而是在下面的行中。有什么想法吗?

编辑:解决方案是制作另一个窗口并放置那个窗口吗?还是可以在同一个网格内完成?

编辑:它就像 Windows Vista/7 底部的工具栏,您可以通过它看到“后面”的窗口。

【问题讨论】:

    标签: wpf layout navigation panel


    【解决方案1】:

    使用 2 RowDefinitions 保留现有布局,但在 Image 元素上设置 Grid.RowSpan="2"。还要确保您的 Button 或 Button 容器在 Image 之后声明或在它们上设置更高的 Panel.ZIndex 值。

    【讨论】:

      【解决方案2】:

      尝试只有 1 行的网格,并将导航栏与底部对齐,并为其设置不透明度以使其半透明。

      <Grid>
          <Image.../>
          <Grid Name="NavBar" VerticalAlignment="Bottom" Opacity="50%">...</Grid>
      </Grid>
      

      【讨论】:

        【解决方案3】:

        不确定这是否是您正在寻找的,但我会试一试。也许你可以看看 Adorners MSDN link,它允许你在现有内容之上放置一个渲染表面/层。通过一些小技巧,您可以使此渲染表面半透明或添加其他效果。装饰器是保持渲染非常干净的好方法,因此您可以将所有花哨的东西隔离在装饰器层中,并让您的图像显示代码保持不变。

        就我的两分钱...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多