C'è un modo per ereditare dalla classe TriggerAction?
-
19-09-2019 - |
Domanda
Non mi interessa nelle animazioni e sto cercando di fare semplice azione setter da impostare senza fotogrammi chiave.
ho voluto ereditare TriggerAction; rendere le proprietà che impostano il nuovo valore sul bersaglio, ogni proprietà facoltativa aggiuntive in modo da poter usare:
<EventTrigger SourceName="btn" RoutedEvent="Click">
<BooleanActionTrigger TargetName="cb" Property="IsChecked" Value="False"/>
</EventTrigger>
Soluzione
Se è installato Expression Blend, v'è una DLL in System.Windows.Interactivity.dll
C:. \ Program Files (x86) \ Microsoft SDK \ Expression \ Blend 3 \ Interattività \ Libraries \ WPF \ System.Windows.Interactivity.dll
Allora è possibile ereditare
System.Windows.Interactivity.TriggerAction<T> where T : DependencyObject
System.Windows.Interactivity.TriggerBase<T> where T : DependencyObject
System.Windows.Interactivity.Behavior<T> where T : DependencyObject
Altri suggerimenti
Non è necessario aver installato Expression Blend. System.Windows.Interactivity per WPF è ora disponibile su NuGet. È sufficiente aggiungere quel pacchetto NuGet al progetto e scrivere il TriggerAction
personalizzato:
using System.Windows;
using System.Windows.Interactivity;
public class MyCustomAction : TriggerAction<DependencyObject>
{
...
}