C1MenuItem(急)
下图这个请问怎么实现我不想封装控件有别的办法吗 回复 1楼gxlary的帖子
<c1:C1MenuItem Header="割增追加">
<c1:C1MenuItem KeyDown="C1MenuItem_KeyDown">
<c1:C1MenuItem.Header>
<HeaderedContentControl>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBox Height="23" Width="100" Text="100" Grid.Column="0" KeyDown="TextBox_KeyDown" />
<TextBlock Text="%" Grid.Column="1" />
</Grid>
</HeaderedContentControl>
</c1:C1MenuItem.Header>
</c1:C1MenuItem>
</c1:C1MenuItem>
不过有一个问题是,得重写TextBox的KeyDown事件,不然如法输入内容:itwn: 十分感谢 回复 3楼gxlary的帖子
感谢对该问题的反馈。
你可以通过2楼的方法实现你的需求。
如果有差别,我们再来讨论。 回复 4楼Alice的帖子
你好啊
我还想在追问一个问题
我想实在点击子菜单的同时
如何不关闭整个菜单,
还让菜单表示 回复 5楼gxlary的帖子
是要在点击子菜单时,整个菜单目录不自动关闭是吧?你可以在C1MenuItem中实现PreviewMouseRightButtonUp 事件,并在事件中设置 e.Handle=true; 即可;这样既可以自动关闭菜单,而且不影响子菜单里面自定义控件的鼠标事件,不过这样会出现一个问题,子菜单的离开焦点触发会有问题,你试试看,我这边会出现在菜单外边随便点击,菜单也不会自动关闭,造成卡死现象,除非windows切换一下其他窗口,或者程序弹窗什么的之后,就正常了,暂时没找到原因;如果子菜单中没有自定义控件用到鼠标事件,可以用 PreviewMouseRightButtonDown 事件进行设置,这样离开焦点就不会有问题了,不过子菜单中自定义的控件的鼠标事件就失效了;仅供参考:jy74a: 回复 6楼KNight的帖子
你好
我这是2011j for silverlight(日文版的)
好像没有你说的这个事件啊 回复 7楼gxlary的帖子
你好。
根据你的描述,你使用的是日文版的silverlight。
Silverlight没有PreviewMouseRightButtonUp等相关事件。
你可以尝试找到这个MenuItem并且展示设置IsOpen=true。
var g=VisualTreeHelper.GetChild(mi, 0) as Grid;//mi is a C1MenuItem
var p=g.FindName("SubItemsPopup") as Popup;
p.IsOpen = true; 回复 7楼gxlary的帖子
:-| 抱歉理解错了,一直以为是WPF,我试了一下,如果是Silverlight里的C1MenuItem,你可以在最底层的C1MenuItem的Click事件里加上他上一层C1MenuItem的一个属性,就是设置miDeep4.IsSubmenuOpen = true; 即可在单击后不会自动关闭菜单栏;
<C1:C1MenuItem Header="Deep4" x:Name="miDeep4">
<C1:C1MenuItem Header="Deep5" Click="C1MenuItem_Click">
</C1:C1MenuItem>
</C1:C1MenuItem>
private void C1MenuItem_Click(object sender, C1.Silverlight.SourcedEventArgs e)
{
C1MenuItem menu = sender as C1MenuItem;
if (menu.Header.ToString().Equals("Deep5"))
{
miDeep4.IsSubmenuOpen = true;
}
} 回复 9楼KNight的帖子
谢谢反馈。
页:
[1]
2