J'ai créé la classe:WPF Reliure: comment faire de la propriété en cours de modification lorsque la propriété de sa propriété a changé
class StorageBase
{
public Queue<Slices> Slices {get;set;}
}
et WPF contrôle personnalisé qui a la dépendance propriété de stockage de type StorageBase:
public StorageBase Storage
{
get { return (StorageBase)GetValue(StorageProperty); }
set { SetValue(StorageProperty, value); }
}
public static readonly DependencyProperty StorageProperty =
DependencyProperty.Register("Storage", typeof(StorageBase), typeof(MaterialStreamControl), new UIPropertyMetadata(null, new PropertyChangedCallback(OnStoragePropertyChanged)));
static void OnStoragePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
(d as MaterialStreamControl).Render();
}
Comment est-ce que je pourrais rerender le composant si des tranches dans le stockage ont changé?
La première méthode ne fonctionne pas. Lorsque j'ajoute une tranche à Slices, OnStoragePropertyChanged ne déclenche pas. La deuxième méthode ne convient pas car je n'ai besoin que d'une file d'attente. –
Vous pouvez utiliser une ObservableCollection comme s'il s'agissait d'une file d'attente. Alternativement, vous pouvez créer votre propre classe de file d'attente qui implémente IObservableCollection. –