none
用Popup后为什么无法弹出子菜单? RRS feed

  • 问题

  •  <Popup x:Name="Pop" PopupAnimation="Scroll " Width="100" PlacementTarget="{Binding ElementName=BtnPop}" Placement="Top" AllowsTransparency="True" StaysOpen="False" HorizontalAlignment="Right" Margin="0,36,0,126">
          <Border Background="{StaticResource MenuPopupBrush}" CornerRadius="5" BorderBrush="#FF000000" BorderThickness="1">
            <StackPanel Margin="5">
                <MenuItem Header="测试主菜单">
                  <MenuItem Header="测试子菜单" />
                  <MenuItem Header="测试子菜单" />
                  <MenuItem Header="测试子菜单" />
                </MenuItem>
                <MenuItem Header="测试主菜单" />
                <MenuItem Header="测试主菜单" />
                <MenuItem Header="测试主菜单">
                  <MenuItem Header="测试子菜单" />
                  <MenuItem Header="测试子菜单" />
                  <MenuItem Header="测试子菜单" />
                  <MenuItem Header="测试子菜单.."/>
                </MenuItem>
                <MenuItem Header="测试主菜单" />
                <MenuItem Header="测试主菜单" />
            </StackPanel>
          </Border>
      </Popup>
    
    2011年4月7日 8:50

答案

全部回复

  • 菜单本来就是一个Popup,你在一个Popup上尝试显示另一个Popup是不可以的。

    还有你也不能直接独立的去使用MenuItem ,你可以在Menu或者ContextMenu中使用MenuItem。

    这两点是你的代码不能很好运行的原因


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年4月8日 3:06
    版主
  • 完成你的需求,你要用ContextMenu。

    而不是Popup,然后直接放入MenuItem


    Sheldon _Xiao[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 MaJiXiang 2011年4月8日 4:55
    2011年4月8日 3:32
    版主
  • 如果是在Popup里放Menu可以显示Menu的子菜单,但是它的样式是纵向展开的,而且不能显示出哪些项具有子菜单的三角箭头。我需要能横线展开子菜单,并能清楚显示出具有子菜单的样式。
    2011年4月8日 3:33