J'ai la liste des éléments dans ma classe de données:Silverlight. étrange problème avec la liaison
public ObservableCollection<Node> NodesFromDatabase
{
get
{
if (_nodesFromDatabase == null)
_nodesFromDatabase =GenerateMenuNodes();
return _nodesFromDatabase ;
}
set
{
_nodesFromDatabase = value;
}
}
et des biens dans le contrôle auquel je veux lier ces données:
public ObservableCollection<Node> Nodes
{
get { return (ObservableCollection<Node>)GetValue(NodesProperty); }
set
{
SetValue(NodesProperty, value);
}
}
private static DependencyProperty NodesProperty =
DependencyProperty.Register(
"Nodes",
typeof(ObservableCollection<Node>),
typeof(Control),new PropertyMetadata(new ObservableCollection<Node>()));
En XAML i ont un tel code:
<Grid Background="White">
<Grid.DataContext>
<local:DataFromDataBase x:Name="database" />
</Grid.DataContext>
<local:Control Nodes="{Binding NodesFromDatabase}" />
</Grid>
Et j'ai une étrange logique derrière ce code.
Ma propriété NodesFromDatabase est déclenchée dans l'instruction get mais l'instruction set Nodes de contrôle ne se déclenche pas! Qu'est-ce que je fais mal avec?