bonjour
j'ai créer un custom canvas pour etre utiliser comme pannel hote dans une listbox via un Datatemplate

XAML de ListBox :
Code XAML : 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
<ListBox.Resources>
   <DataTemplate DataType="{x:Type local:Node}">
                    <local:CanvaNetwork x:Name="ItemCanvas_Node"  Background="Transparent">
 
                        <Path x:Name="Path_NodeProcess"
                                Stroke="Green"
                                Fill="Blue"
                                Stretch="None"
                                Data="{Binding  Path =Geometryform}"
                                Visibility="{Binding Path=Visibility}">
                        </Path>
 
                        <local:CanvaNetwork.Style>
                            <Style>
 
                                <Style.Triggers>
                                    <Trigger  Property="Canvas.IsMouseOver" Value="True">
                                        <Setter  Property="local:CanvaNetwork.NewMouseOver"  Value="True" />
                                        <Setter Property="Cursor"  Value="Cross"/>
                                    </Trigger>
                                </Style.Triggers>
                            </Style>
                        </local:CanvaNetwork.Style>
                    </local:CanvaNetwork>                
 
                </DataTemplate>
      </ListBox.Resources>
 
 </ListBox>


Code du CanvaNetwork (mon custom Canvas) :

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
public class CanvaNetwork : Canvas
    {
        public CanvaNetwork()
        {
 
 
        }
 
        public  Node ND;
 
 
 
        // Using a DependencyProperty as the backing store for NewMouseOver.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty NewMouseOverProperty =
            DependencyProperty.Register ("NewMouseOver",
                                        typeof(bool),
                                        typeof(CanvaNetwork),
                                        new PropertyMetadata(false, OnNewMouseOver));
        int i;
        public bool NewMouseOver
        {
            get { return (bool)GetValue(NewMouseOverProperty); }
            set { 
                 SetValue(NewMouseOverProperty, value);
                i++; // point d'arret ne passe pas ici !!, donc NewMouseOver n'est jamais modifier par Setter : <Setter  Property="local:CanvaNetwork.NewMouseOver"  Value="True" />
                 }
        }
 
        public static void OnNewMouseOver(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
           // comment l'utiliser ?
 
        }
 
   }
Questions :
1-pourquoi NewMouseOver n'est pas modifié par setter ? : <Setter Property="local:CanvaNetwork.NewMouseOver" Value="True" /> .
2-pourquoi quant j'ai rajouté : <Setter Property="Cursor" Value="Cross"/> ==> erreur :
"Cursor" is not recognized or is not accessible
Merci.