Get event sender from event

image_pdfimage_print


   
  
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006"
  mc:Ignorable="d" Background="#FFFFFFFF" x:Name="DocumentRoot"
  x:Class="InputExamples.EventHandling" Width="640" Height="480">
  <Grid.Resources>
    <Storyboard x:Key="OnLoaded"/>
  </Grid.Resources>
  
  <Grid.ColumnDefinitions>
    <ColumnDefinition/>
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>
  <RowDefinition/>
  </Grid.RowDefinitions>
  <Button HorizontalAlignment="Left" 
          VerticalAlignment="Top" 
          Width="106" 
          Height="28" 
          x:Name="ClickButton1" 
          Content="Click Me!" 
          Click="ClickHandler" PreviewMouseUp="ButtonMouseUpHandler"/>
  <Button d:LayoutOverrides="Width, Height" 
          HorizontalAlignment="Left" 
          VerticalAlignment="Top" 
          Margin="20" 
          Width="106" 
          Height="28" 
          x:Name="ClickButton2" 
          Content="Click Me!" 
          Click="ClickHandler" 
          PreviewMouseUp="ButtonMouseUpHandler"/>
</Grid>

//File:Window.xaml.cs
using System;
using System.IO;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Navigation;

namespace InputExamples
{
  public partial class EventHandling
  {
    public EventHandling()
    {
      this.InitializeComponent();
    }
    
    private void ClickHandler(object sender, RoutedEventArgs e)
    {
          Button clicked = e.Source as Button;
          MessageBox.Show(String.Format("{0} was clicked!", clicked.Name));
    }

    private void ButtonMouseUpHandler(object sender, MouseButtonEventArgs e)
    {
          Button clicked = sender as Button;
          clicked.Content = String.Format("{0} clicked", clicked.Name);
    }
  }
}