Routed Event Demo

image_pdfimage_print


   
  
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="MyNameSpace.RoutedEventDemo.RoutedEventDemo"
        Title="Routed Event Demo">
    <TextBlock Name="txtblk">TextBlock with Context Menu
        <TextBlock.ContextMenu>
            <ContextMenu MenuItem.Click="MenuItemOnClick">
                <MenuItem Header="Red" />
                <MenuItem Header="Orange" />
                <MenuItem Header="Yellow" />
                <MenuItem Header="Green" />
                <MenuItem Header="Blue" />
                <MenuItem Header="Indigo" />
                <MenuItem Header="Violet" />
            </ContextMenu>
        </TextBlock.ContextMenu>
    </TextBlock>
</Window>
//File:Window.xaml.cs

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;

namespace MyNameSpace.RoutedEventDemo
{
    public partial class RoutedEventDemo : Window
    {

        public RoutedEventDemo()
        {
            InitializeComponent();
        }
        void MenuItemOnClick(object sender, RoutedEventArgs args)
        {
            string str = (args.Source as MenuItem).Header as string;
            Color clr = (Color)ColorConverter.ConvertFromString(str);
            txtblk.Foreground = new SolidColorBrush(clr);
        }
    }
}