XAML 2009 Features: XAML Event handling


[This is part of a series on New WPF\XAML Features]  


In previous releases, when loose XAML had events in it and was loaded it would crash. In V4, there are 2 options to avoid this crash.


à On loading events are searched on the root object of the XAML file. Suppose you had the loose XAML like the below


<local:MyStackPanel


        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"


        xmlns:local ="clr-namespace:DemoApp;assembly=DemoApp">


    <Button Click="Button_Click" >Date (Event on Root)</Button>


 


As long as the root object (in this case MyStackPanel) can be found, the event will be hooked and will work fine without a crash


à The second approach is to define a MarkupExtension that returns a delegate and assign this to the event. So you could have XAML like the below


 


<Button Click="{DelegateCreatingME}"/>


<Button Click="{DelegateCreatingME ChangeFontSize}" >


<Button Click="{DelegateCreatingME ChangeForeground,Brown}" />


 


 


The sample project using the CoreMVVM library is attached. 


 Note that XAML 2009 features work only for loose XAML in WPF.


Share this post

 

WpfModelViewApplication2.zip

Skip to main content