modifier une Dependency Properity dans un custom Canevas
bonjour
j'ai créer un custom canvas pour etre utiliser comme pannel hote dans une listbox via un Datatemplate
XAML de ListBox :
Code:
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:
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 :
Citation:
"Cursor" is not recognized or is not accessible
Merci.