windows-phone-7 – 以编程方式添加WP7 ContextMenu
发布时间:2020-12-14 02:07:28 所属栏目:Windows 来源:网络整理
导读:我正在动态地在页面上加载元素(读取 XML文件的内容).动态内容被加载到StackPanel中.内容的每个元素都包含一个TextBlock和另一个UI元素,因此对于每一对,我创建一个新的StackPanel,然后将其添加到父StackPanel.代码如下所示: TextBlock header = new TextBloc
我正在动态地在页面上加载元素(读取
XML文件的内容).动态内容被加载到StackPanel中.内容的每个元素都包含一个TextBlock和另一个UI元素,因此对于每一对,我创建一个新的StackPanel,然后将其添加到父StackPanel.代码如下所示:
TextBlock header = new TextBlock() { Text = "Heading 1",HorizontalAlignment = HorizontalAlignment.Stretch,VerticalAlignment = VerticalAlignment.Top,Foreground = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"],}; TextBox item = new TextBox() { HorizontalAlignment = HorizontalAlignment.Stretch,}; StackPanel sp = new StackPanel(); sp.Children.Add( header ); sp.Children.Add( item ); parentSP.Children.Add( sp ); 我想向这个StackPanel添加一个ContextMenu(sp,而不是parentSP);根据从文件中读取的一些参数,它可以是2个不同的上下文菜单之一.我尝试了以下但它不起作用: ContextMenu cm = new ContextMenu(); RoutedEventHandler clickHandler = new RoutedEventHandler( OnContextMenuClicked ); // Add "edit" entry MenuItem menuItem = new MenuItem() { Header = "edit",Tag = "edit",}; menuItem.Click += clickHandler; cm.Items.Add( menuItem ); // Add "delete" entry menuItem = new MenuItem() { Header = "delete",Tag = "delete",}; menuItem.Click += clickHandler; cm.Items.Add( menuItem ); parentSP.Children.Add( cm ); 如何以编程方式向StackPanel添加上下文菜单? 另外,有没有更好的方法来解决这个问题?也许通过在XAML资源部分中存储2种不同类型的上下文菜单并根据需要添加它们?我尝试通过将上下文菜单添加到父级的StackPanel.Resource部分来执行此操作,但收到错误消息“属性元素不能是另一个属性元素的直接子元素” 在此先感谢您的帮助 解决方法ContextMenuService.SetContextMenu(sp,cm); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 无法加载DLL’xmogrt’:来自Tridion元数据查询
- windows-server-2008-r2 – Windows 2008 R2如何运行32位应
- Powershell load dll出错:Add-Type:无法加载文件或程序集
- 获取Windows XP的管理员访问权限(丢失密码)
- windows – 互联网安全,以保护小型网络上的儿童
- windows-server-2008 – 用户注销后删除本地配置文件?
- 通过注册表用热键(Scancode Map)控制音量
- 在Windows中以提升的提示输入不带密码的其他用户
- windows – Angular 4错误:在Karma-Jasmine Test中没有Chi
- windows-server-2008 – Cygwin SSHd Autoblock登录失败