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

Comments (0)

Skip to main content