Bonjour,

Je fonctionne sous Visual studio community, application pour WP 8.1

J'essaye de gérer deux affichages différents des éléments bindés dans une ViewBox en fonction d'une caractéristique de ces éléments.
En parcourant le Web, j'ai pu analyser plusieurs exemples d'implémentations qui conviendraient à mon problème.

J'ai donc déclaré en ressource dans App.xaml les deux templates que je souhaite utiliser
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<Application
    x:Class="MemoPhone.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:MemoPhone">


    <Application.Resources>
        <LinearGradientBrush x:Key="CouleurPageDefaut">
            <GradientStop Color="#FF629AD3" Offset="0.117"/>
            <GradientStop Color="#FFFFFBFB" Offset="0.662"/>
        </LinearGradientBrush>

        <DataTemplate x:Key="RayeElement">
            <StackPanel  Orientation="Horizontal">
                <Image Source="{Binding Image}" Margin="0 20 0 0" />
                <TextBlock Text="{Binding description}" Margin="10 20 0 0" FontSize="20" FontStyle="Normal" FontWeight="Medium" Foreground="Black"/>
                <TextBlock Text="{Binding Qte}" Margin="20 20 0 0"  FontSize="20" FontStyle="Italic" FontWeight="Medium"  Foreground="Red" />
            </StackPanel>
        </DataTemplate>
        <DataTemplate x:Key="AfficheElement">
        <StackPanel  Orientation="Horizontal">
            <Image Source="{Binding Image}" Margin="0 20 0 0" />
            <TextBlock Text="{Binding description}" Margin="10 20 0 0" FontSize="20" FontStyle="Normal" FontWeight="Medium" Foreground="Black"/>
            <TextBlock Text="{Binding Qte}" Margin="20 20 0 0"  FontSize="20" FontStyle="Normal" FontWeight="Medium"  Foreground="Bisque" />
        </StackPanel>
    </DataTemplate>
        
    </Application.Resources>
        
</Application>
J'ai déclaré la classe de selection avec le selectTemplate overrider dans App.Xaml.cs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  public class TemplateSelector : DataTemplateSelector

        {
            private DataTemplate Dt_Affiche;

            public DataTemplate AfficheElement
            {
                get { return Dt_Affiche; }
                set { Dt_Affiche = value; }

            }

            private DataTemplate Dt_Raye;

            public DataTemplate RayeElement
            {
                get { return Dt_Raye; }
                set { Dt_Raye = value; }

            }

            public override DataTemplate SelectTemplate(object item, DependencyObject container)
            {
                ElementDeListeBinding it = item as ElementDeListeBinding;

                if (it.actif)
                {
                    return AfficheElement;
                }

                else
                {
                    return RayeElement;
                }
            }
        }
Il ne me resterai plus théoriquement qu'à déclarer en ressource cette classe de selection, et c'est là que je se situe mon problème : La classe, bien que publique et présente dans App.xaml.cs, est toujours inconnue ... Visual réclame une référence lorsque j'écrit :
<local:TemplateSelector ....

la balise xmlns:local ne m'autorise à choisir que mon application (memophone)

Quelqu'un verrai-t-il l'erreur de déclaration que je commet ? Et si au passage vous avez une référence pour un sélecteur de template qui fonctionne en WP 8.1, ce serait Super!

Merci par avance.