silverlight 4 ContextMenu的使用
来源:互联网 发布:网络推手平台 编辑:程序博客网 时间:2024/04/30 06:26
1)前台代码
<UserControl xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit" x:Class="SilverlightApplication119.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <Grid.RowDefinitions> <RowDefinition Height="50"></RowDefinition> <RowDefinition Height="*"></RowDefinition> </Grid.RowDefinitions> <Button Name="TestButton" Width="200" Height="24" Content="Add" Grid.Row="0"></Button> <ScrollViewer Name="TestScrollViewer" Grid.Row="1"> <StackPanel Name="TestStackPanel" Orientation="Vertical"> <!--前台绑定ContextMenu--> <HyperlinkButton Name="ContextMenuTest" Content="Context Menu Test"> <toolkit:ContextMenuService.ContextMenu> <toolkit:ContextMenu> <toolkit:MenuItem Name="TestMenuItem1" Header="Test1" Tag="Test1" Click="TestMenuItem_Click"> <toolkit:MenuItem.Icon> <Image Width="16" Height="16" Source="/SilverlightApplication121;component/Resources/test.png"></Image> </toolkit:MenuItem.Icon> </toolkit:MenuItem> <toolkit:Separator></toolkit:Separator> <toolkit:MenuItem Name="TestMenuItem2" Header="Test2" Tag="Test2" Click="TestMenuItem_Click"> <toolkit:MenuItem.Icon> <Image Width="16" Height="16" Source="/SilverlightApplication121;component/Resources/test.png"></Image> </toolkit:MenuItem.Icon> </toolkit:MenuItem> </toolkit:ContextMenu> </toolkit:ContextMenuService.ContextMenu> </HyperlinkButton> </StackPanel> </ScrollViewer> </Grid></UserControl>
2)后台代码
using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;namespace SilverlightApplication119{ public partial class MainPage : UserControl { private int counter = 0; public MainPage() { InitializeComponent(); TestButton.Click += new RoutedEventHandler(TestButton_Click); } void TestButton_Click(object sender, RoutedEventArgs e) { //新添加HyperlinkButton HyperlinkButton hyperlinkButton = new HyperlinkButton(); counter = counter + 1; hyperlinkButton.Name = "Hyperlink_" + counter; hyperlinkButton.Content = "Hyperlink_" + counter; InitContextMenu(hyperlinkButton);//为HyperlinkButton初始化右击菜单 TestStackPanel.Children.Add(hyperlinkButton); } /// <summary> /// 为HyperlinkButton初始化右击菜单 /// </summary> /// <param name="button"></param> private void InitContextMenu(HyperlinkButton hyperlinkButton) { ContextMenu contextMenu = new ContextMenu(); //修改 MenuItem EditMenuItem = new MenuItem(); EditMenuItem.Name = "Edit_" + hyperlinkButton.Name.Split('_')[1]; EditMenuItem.Header = "修改"; //为EditImage设置Icon //Image EditImage = new Image(); //EditImage.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("Resources/Edit.png", UriKind.Relative)); //EditImage.Width = 16; //EditImage.Height = 16; //EditMenuItem.Icon = EditImage; EditMenuItem.Click += new RoutedEventHandler(EditMenuItem_Click); contextMenu.Items.Add(EditMenuItem); //分割线 Separator Separator1 = new Separator(); contextMenu.Items.Add(Separator1); //删除 MenuItem DeleteMenuItem = new MenuItem(); DeleteMenuItem.Name = "Delete_" + hyperlinkButton.Name.Split('_')[1]; DeleteMenuItem.Header = "删除"; DeleteMenuItem.Click += new RoutedEventHandler(DeleteMenuItem_Click); contextMenu.Items.Add(DeleteMenuItem); ContextMenuService.SetContextMenu(hyperlinkButton, contextMenu); } void DeleteMenuItem_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; MessageBox.Show("Delete " + menuItem.Name.Split('_')[1]); } void EditMenuItem_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; MessageBox.Show("Edit " + menuItem.Name.Split('_')[1]); } private void TestMenuItem_Click(object sender, RoutedEventArgs e) { MenuItem menuItem = sender as MenuItem; MessageBox.Show(menuItem.Tag.ToString()); } }}
- silverlight 4 ContextMenu的使用
- Silverlight Toolkit中ContextMenu的用法
- Silverlight Toolkit中ContextMenu的用法
- WPF ContextMenu的使用
- ContextMenu的使用
- Android ContextMenu的使用
- ContextMenu的使用
- ContextMenu的使用详解
- ContextMenu的简单使用
- ContextMenu的使用
- Silverlight ContextMenu用法
- Android中ContextMenu的使用
- Android中ContextMenu的使用
- 上下文菜单ContextMenu的使用
- OptionsMenu、SubMenu、ContextMenu的使用
- 【Android】上下文菜单ContextMenu的使用
- android -- ContextMenu 的使用 和 OptionsMenu 区别
- Qt contextMenu的创建和使用
- UISearchBar
- UNREFERENCED_PARAMETER的作用
- TortoiseSVN简明教程
- linux驱动current,引用当前进程,及task_struct
- OpenCms介绍
- silverlight 4 ContextMenu的使用
- 基于Cortex-a15的模拟环境搭建——Guest Android
- linq方法语法--学习linq的资料和笔记(二)
- C# Winform 自定义鼠标拖动窗体类
- netlink 内核与用户层互通信
- android进程与线程详解一:进程
- 【脚本语言】JCF 环境配置
- .mod.c是什么文件,及内核模块Makefile模板
- loadView、viewDidLoad、viewWillAppear、viewDidAppear等详解