<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>
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()); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。