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) :
Questions :
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 ? } }
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 :Merci."Cursor" is not recognized or is not accessible
Partager