هر برنامه نویس دات نت با مفهوم Event ها آشنایی دارد (پیغام های که از یک شئ به شئ دیگر در هنگام رخ دادن عملی فرستاده می شوند) ولی در WPF به خاطر تفاوت های که در آن وجود دارد دیگر نمی توان به شکلی موثر از Event های معمول در Winform ها استفاده کرد برای همین WPF نوعی سیستم به نام Routed Event زیر سازی شده تا بتوان به شکلی موثر از مفهوم Event ها استفاده کرد.

دلیل استفاده نکردن WPF از سیستم قبلی رویدادها به خاطر ساختار سلسله مراتبی اشیاء/اعضاء در WPF است یعنی ما در WPF می توانیم ساختار درختی از اشیاء/اعضاء را داشته باشیم به طور مثال می توان درون یک دکمه یک تکست باکس داشته باشیم که اگر بخواهیم از سیستم قبلی رویداد استفاده کنیم برای هر یک از این اعضاء رویداد مربوطه را تعریف کنیم که این عمل در دنیای واقعی کاری تاقت فرسا می باشد که می تواند زمان زیادی از پروژه را بی دلیل از بین ببرد.

سیستم Routed Event این امکان را فراهم می سازد که یک رویداد توسط یک عضو رخ دهد و توسط یک عضو دیگر اجرا شود یعنی زیر شی ها می توانند به رویداد والدین خود دسترسی پیدا کنند(Event Bubbeling) این نوع دسترسی با توجه به نوع استراتژی پیمایش (RoutingStrategy) رویداد در درخت نمایش (Visual Tree) صورت می گیرد .
در هنگام استفاده ازWPF بدون اطلاع از Routed Event استفاده می کنیم که برای نشان دادن این کار یک دکمه ایجاد کنید و یک رویداد کلیک به آن اضافه کنید.

<Button Name="testbutton" Click="Button_Click">Click Me!</Button>
و برای اینکه متوجه این امر بشوید به Code Behind برنامه رفته و از درون سازنده بر روی InitializeComponent کلیک راست کرده سپس Go To Definition را انتخاب کنید و از بین کد ها در partial کلاس کد مربوط به ثبت رویداد کلیک دکمه را پیدا کنید.

#line 6 "..\..\..\MainWindow.xaml"
this.testbutton.Click += new System.Windows.RoutedEventHandler(this.Button_Clic k);
این کد ها در هنگام طراحی توسط Designer ایجاد شده که یک Routed Event در کلیک دکمه ثبت می شود(Register).