2009-05-19 6 views
4

Mit DataTriggers in WPF ist es möglich, Eigenschaften für Steuerelemente basierend auf dem Objekt festzulegen, das Sie gebunden haben. Zum Beispiel könnten Sie den Hintergrund eines TextBlocks basierend auf einer IsAlive-Eigenschaft für Ihr Objekt festlegen.WPF-Datentrigger Festlegen von Objekteigenschaften basierend auf Ereignissen

<DataTrigger Binding="{Binding Path=IsAlive}" Value="true"> 
    <Setter Property="Background" Value="Yellow"/> 
</DataTrigger> 

Ich möchte wissen, ob es möglich ist, in umgekehrter Reihenfolge zu gehen. Ist es möglich, eine Eigenschaft für ein datengebundenes Element basierend auf dem Status des Steuerelements festzulegen, an das es gebunden ist?

Angenommen, ich möchte die IsAlive-Eigenschaft auf true setzen, wenn das Steuerelement, an das es gebunden ist, das Mouseover-Ereignis empfängt.

Kann dies in WPF & Daten ausgelöst werden? Vielen Dank.

Antwort

1

Ich weiß nicht, ob das, was Sie fragen, direkt möglich ist, aber ich vermute, dass es nicht ist. Auf der anderen Seite, ich denke, Sie könnten Ihr Beispielszenario funktionieren lassen, indem Sie die "IsAlive" -Eigenschaft des Objekts direkt mit der Abhängigkeitseigenschaft "IsMouseOver" des Steuerelements mit Mode = OneWayToSource verbinden.

+0

+1 Das klingt, als würde es funktionieren. – Pwninstein

1

Sie könnten EventSetter verwenden und dann die Einstellung mit dem Code unter Verwendung der DataContext Eigenschaft des Senders oder mit GetBindingExpression behandeln.
Dies gibt Ihnen eine Option zum Festlegen eines Handlers auf der Stilebene.