积极答复者
关于MenuItem不显示的问题

问题
-
代码如下:
<StackPanel Orientation="Vertical" Background="Gray" Width="140"> <MenuItem Header="Share" Height="24"> <MenuItem Header="Google+" Height="24" /> <MenuItem Header="Facebook" Height="24" /> <MenuItem Header="Twitter" Height="24"/> </MenuItem </StackPanel>
其中,Share菜单可以显示,而且也看得到菜单右边的小三角形。可以为什么Share的子菜单不显示出来呢?
825386224@qq.com
答案
-
你好,
你可以试下以下代码来添加一个事件:
<Window x:Class="MenuTest1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MenuTest1" Height="300" Width="300"> <Grid> <StackPanel Orientation="Vertical" Background="Gray" Width="140"> <MenuItem Header="Share" Height="24" MouseMove="MenuItem_MouseMove"> <MenuItem Header="Google+" Height="24" Background="Blue" /> <MenuItem Header="Facebook" Height="24" /> <MenuItem Header="Twitter" Height="24"/> </MenuItem> </StackPanel> </Grid> </Window>
然后在事件里写:
VB:
Public Class MenuTest1 Private Sub MenuItem_MouseMove(sender As Object, e As MouseEventArgs) Dim menuItem As MenuItem = DirectCast(sender, MenuItem) menuItem.IsSubmenuOpen = True End Sub End Class
C#:
void MenuItem_MouseMove(object sender, MouseEventArgs e) { MenuItem menuItem = (MenuItem)sender; menuItem.IsSubmenuOpen = true; }
原因大概是你用的是MenuItem,里面没有类似Menu里面的事件,所以我们要自己写,当然这只是我的猜测。
Barry
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.- 已标记为答案 中文输入法下输入代码 2015年1月27日 12:47
全部回复
-
你好,
你可以试下以下代码来添加一个事件:
<Window x:Class="MenuTest1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MenuTest1" Height="300" Width="300"> <Grid> <StackPanel Orientation="Vertical" Background="Gray" Width="140"> <MenuItem Header="Share" Height="24" MouseMove="MenuItem_MouseMove"> <MenuItem Header="Google+" Height="24" Background="Blue" /> <MenuItem Header="Facebook" Height="24" /> <MenuItem Header="Twitter" Height="24"/> </MenuItem> </StackPanel> </Grid> </Window>
然后在事件里写:
VB:
Public Class MenuTest1 Private Sub MenuItem_MouseMove(sender As Object, e As MouseEventArgs) Dim menuItem As MenuItem = DirectCast(sender, MenuItem) menuItem.IsSubmenuOpen = True End Sub End Class
C#:
void MenuItem_MouseMove(object sender, MouseEventArgs e) { MenuItem menuItem = (MenuItem)sender; menuItem.IsSubmenuOpen = true; }
原因大概是你用的是MenuItem,里面没有类似Menu里面的事件,所以我们要自己写,当然这只是我的猜测。
Barry
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.- 已标记为答案 中文输入法下输入代码 2015年1月27日 12:47