3 Stimmen

Wie zu animieren ListBox Elemente auf MouseEnter und MouseLeave Ereignisse mit C#/WPF?

Ich kann nicht erfassen/auslösen OnMouseEnter oder OnMouseLeave Ereignisse durch C#-Code für Listenelemente. Um klar zu sein, brauche ich nicht ein OnSelectedItem-Ereignis.

Was ich tun möchte, ist in der Lage, die OnMouseEnter und OnMouseLeave-Ereignisse für ListBoxItem zu behandeln, die die DoubleAnimation für diese ListBoxItem starten wird - ich möchte seine Schriftart auf MouseEnter vergrößern und wieder auf die ursprüngliche Größe auf MouseLeave.

Irgendwelche Ideen? Danke!

4voto

Nate Punkte 29413

Etwas wie dieses (als Teil des DataTemplate der ListBox):

<DataTemplate.Triggers>
    <EventTrigger
        SourceName="BorderControl"
        RoutedEvent="TextBlock.MouseEnter">
        <BeginStoryboard>
            <Storyboard>
                <ColorAnimation Storyboard.TargetName="BorderControl"
                    Storyboard.TargetProperty="Background.Color"
                    To="DarkRed" Duration="00:00:00.2" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
    <EventTrigger
        SourceName="BorderControl"
        RoutedEvent="TextBlock.MouseLeave">
        <BeginStoryboard>
            <Storyboard>
                <ColorAnimation Storyboard.TargetName="BorderControl"
                    Storyboard.TargetProperty="Background.Color"
                    To="WhiteSmoke" Duration="00:00:00.2" />
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
</DataTemplate.Triggers>

über http://www.dotnet-blog.com/index.php/2009/01/29/how-to-style-and-animate-a-wpf-listbox/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X