繁体   English   中英

(C# WPF)单击menuA中的MenuItem时如何打开menuB

[英](C# WPF) How to open menuB when MenuItem in menuA is clicked

我希望应用程序在单击 MenuItem 后从主菜单打开第二个菜单(通过打开,我的意思是 menuB 仅在单击 menuA 中的项目后才可见)。 我不确定使用什么事件处理程序来执行此操作,因为我尝试了 IF 语句,但它不允许这样做。 我无法找到有关如何执行此操作的任何帮助。

我是 WPF 的新手,所以我不完全确定我需要在这里添加什么。 我感谢任何帮助。

XAML:

<MenuItem x:Name="ParkingMenu" 
          Header="Parking"
          VerticalAlignment="Center"
          FontSize="20" Height="55"
          Width="230"
          Background="#FF083061"
          Foreground="White">

    <ScrollViewer VerticalScrollBarVisibility="Visible"
                  Height="165">
        <StackPanel>
            <MenuItem x:Name="Park1" 
                      Header="Parking 1"
                      HorizontalAlignment="Left"
                      VerticalAlignment="Center"
                      FontSize="20"
                      Height="55"
                      Width="230"
                      Background="#FF083061"
                      Foreground="White"
                      Click="Park1_Click"/>
      <StackPanel/>
   <ScrollViewer/>
<MenuItem/>

C#:

        public MainWindow()
        {

        }

        private void Park1_Click(object sender, RoutedEventArgs e)
        {
            if (Park1.IsStylusCaptured == true)
            {
                menuB.Visibility == Visibility.Visible;
            }
        }
    }
}

错误语句:“只有赋值、调用、递增、递减、等待和新的object表达式可以用作语句WPFAPP”。**

您不需要使用滚动查看器等。只需使用MenuMenuItem nested 创建嵌套菜单, WPF将负责在鼠标悬停时显示它们。

<Grid>
    <Menu>
        <MenuItem Header="Main1">
            <MenuItem Header="Sub1">
                <MenuItem Header="SubSub5"/>
            </MenuItem>                
            <MenuItem Header="Sub2"/>
        </MenuItem>
        <MenuItem Header="Main2">
            <MenuItem Header="Sub3"/>
            <MenuItem Header="Sub4"/>
        </MenuItem>
    </Menu>
</Grid>

结果:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM