DockPanel中的ZIndex

时间:2011-03-24 14:09:27

标签: .net wpf xaml dockpanel

我有一个DockPanel作为我窗口的根元素。

我有另一个DockPanel,它本质上是一个菜单栏,设置为停靠在root-element-DockPanel的顶部。

我想将一个图像停靠在root-element-DockPanel的顶部,浮动在菜单栏-DockPanel上。

例如:

<DockPanel x:Name="RootDockPanel">
  <Image Souce="/MyProject;component/Images/imageName.jpg" DockPanel.Dock="Top" Panel.ZIndex="3" />
  <DockPanel x:Name="MenuDockPanel" DockPanel.Dock="Top" Panel.ZIndex="0">
    <!-- content -->
  </DockPanel>
</DockPanel>

我尝试将Image的Panel.ZIndex设置为高于菜单栏-BarPanel的Panel.ZIndex,但这不起作用。

由于ZIndex被证明是无用的,我不知道如何实现这一点,我正在寻找你的意见。

感谢您的帮助!

-Frinny

2 个答案:

答案 0 :(得分:1)

非常简单。抛弃蹩脚的DockPanel并改为使用Grid。

DockPanel IMO是wpf中最无用的面板。

答案 1 :(得分:0)

DockPanel.ZIndex为我工作。

这里有个例子可以帮助您(它可能无法编译,我只是从内存中写出了这个例子以说明概念):

<DockPanel>
    <Label 
        Background="Yellow" 
        Content="Foo" 
        DockPanel.Dock="Right" 
        DockPanel.ZIndex="1"
        />
    <Label 
        Background="Green" 
        Content="Bar" 
        DockPanel.Dock="Right" 
        DockPanel.ZIndex="0" 
        />
</DockPanel>