On oublie souvent que le code-behind n'est pas réservé aux uniques descendants de Control, mais que cette association est possible quel que soit le fichier XAML. L'exemple inclus associe un fichier XAML contenant un ResourceDictionary définissant un style. A ce style est associé un EventHandler dont le code permet d'avoir un comportement qui ne serait pas évident (voire impossible) à définir en XAML.
Afin de réaliser une telle association il suffira donc :
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="EventSetterStyleXClass.MyStyleDictionary">
<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<EventSetter Event="ButtonBase.MouseEnter" Handler="MyButtonStyle_MouseEnter"/>
namespace EventSetterStyleXClass
{
partial class MyStyleDictionary
public void MyButtonStyle_MouseEnter(object sender, RoutedEventArgs ea)
{ …
Et merci à Patrice pour l'idée de ce post !