Domanda

Il WPF supporta l'utilizzo di trigger che rispondono a eventi indirizzati ma solo se viene soddisfatta una condizione?

Ad esempio, WPF supporta l'attivazione di eventi indirizzati tramite Trigger eventi. vale a dire:

<Button>
  <Button.Triggers>
    <EventTrigger RoutedEvent="Click">
      ...
    </..
  </..
</..

Tuttavia sto cercando che il grilletto si attivi solo se viene soddisfatta una certa condizione. Normalmente si utilizzano MultiTrigger per soddisfare più condizioni. vale a dire:

<Button>
  <Button.Triggers>
    <MultiDataTrigger>
      <MultiDataTrigger.Conditions>
         <Condition Binding="..." Value="..."/>
         <Condition Binding="..." Value="..."/>
      </..
    </..
  </..
</..

Tuttavia, né il MultiTrigger né il MultiDataTrigger sembrano supportare l'attivazione di eventi indirizzati. È anche possibile mescolare questi due concetti di eventi e condizioni indirizzati in XAML?

È stato utile?

Soluzione

Non credo. Non nel modo in cui ci stai pensando, comunque.

MultiTrigger e MultiDataTrigger vengono attivati ??quando più proprietà hanno i valori corrispondenti contemporaneamente . Questo è qualcosa che può facilmente accadere perché si basa sullo stato. Si basa su valori che rimangono gli stessi, almeno per un po '.

Gli eventi invece accadono e poi se ne vanno. Come hai potuto reagire a due eventi multipli, quando non si verificano nello stesso momento?

Dovresti usare i tuoi EventTrigger - forse in coppie set-enter / set-leave - per impostare lo stato di alcune proprietà (le proprietà associate suonano bene qui), e quindi creare un MultiTrigger che ha esaminato quelle proprietà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top