J'essaie de faire quelque chose de similaire à ce que la personne dans this voulait faire.Existe-t-il un moyen de lier une commande à l'événement replié de tous TreeViewItems dans une arborescence?
Y at-il , plus élégant, façon de faire que la solution de rechange suggérée là-bas?
(en dernier recours) Existe-t-il un autre environnement mvvm qui aurait un meilleur support pour cela?
En ce moment je suis en train de faire un contrôle personnalisé qui hérite de la vue arborescente, comme ceci:
public ModdedTreeView()
{
this.AddHandler(TreeViewItem.CollapsedEvent, new RoutedEventHandler(ItemCollapsed));
}
public RelayCommand<RoutedEventArgs> ItemCollapsedCommand
{
get { return (RelayCommand<RoutedEventArgs>)GetValue(ItemCollapsedCommandProperty); }
set { SetValue(ItemCollapsedCommandProperty, value); }
}
// Using a DependencyProperty as the backing store for ItemCollapsedCommand. This enables animation, styling, binding, etc...
public static readonly DependencyProperty ItemCollapsedCommandProperty =
DependencyProperty.Register("ItemCollapsedCommand", typeof(RelayCommand<RoutedEventArgs>), typeof(ModdedTreeView), new UIPropertyMetadata(null));
protected void ItemCollapsed(object sender, RoutedEventArgs e)
{
if (ItemCollapsedCommand != null)
ItemCollapsedCommand.Execute(e);
}
je puis lier la commande que je veux tirer, à la propriété ItemCollapsedCommand dépendance. Cependant, même cela ne fonctionne pas.
Je continue d'obtenir un InvalidOperationException
: "Le traitement Dispatcher a été suspendu, mais les messages sont en cours de traitement."
Des idées?