Welcome to MSDN Blogs Sign in | Join | Help

Associer du code-behind à un fichier XAML (notamment à un ResourceDictionary)

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 :

  • D'ajouter l'attribut x:Class à la balise racine en spécifiant un nom de classe complet

    <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"/>

  • D'ajouter un fichier C# (la convention de nommage étant de MonFichier.xaml.cs) et d'y définir une classe partielle dont le nom complet est celui précisé lors du point précédent.

    namespace EventSetterStyleXClass

    {

      partial class MyStyleDictionary

      {

        public void MyButtonStyle_MouseEnter(object sender, RoutedEventArgs ea)

        { …

Et merci à Patrice pour l'idée de ce post !

Published Thursday, September 11, 2008 10:18 AM by lvovan
Filed under: , ,

Attachment(s): EventSetterStyleXClass.zip

Comments

# Associer du code-behind ?? un fichier XAML (notamment ?? un ResourceDictionary) : EasyCoded

Anonymous comments are disabled
 
Page view tracker