2 Stimmen

WPF DockPanel IsMouseOver wird nur ausgelöst, wenn die untergeordneten Steuerelemente überfahren werden

Ich habe ein Art Kachel-System für meine Anwendung. Siehe untenstehenden Code:

Wie Sie sehen können, habe ich den Hauptcontainer ([icode]WrapPanel[/icode]) und dann habe ich mehrere [icode]DockPanel[/icode]s, die die Kachel selbst bilden.

Aus irgendeinem Grund wird der IsMouseOver-Trigger nicht ausgelöst, wenn ich über den DockPanel fahre, jedoch passiert dies, wenn ich über eines seiner Kinder fahre. Einmal ausgelöst, bleibt er ausgelöst, bis meine Maus den DockPanel verlässt.

Hier ist der Style:

    <Setter Property="Margin" Value="4" />
    <Setter Property="Cursor" Value="Hand" />
    <Setter Property="Height" Value="118" />
    <Setter Property="Width" Value="118" />
    <Setter Property="LastChildFill" Value="True" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="#FF212121" />
        </Trigger>
    </Style.Triggers>
    <Style.Resources>
        <Style TargetType="Label">
            <Setter Property="Foreground" Value="White" />
            <Setter Property="HorizontalAlignment" Value="Center" />
            <Setter Property="VerticalAlignment" Value="Bottom" />
            <Setter Property="Margin" Value="3" />
            <Setter Property="DockPanel.Dock" Value="Bottom" />

Irgendwelche Ideen?

9voto

mt_serg Punkte 7299

Versuchen Sie, das Hintergrund des DockPanels auf Transparent zu setzen. Wenn der Hintergrund null ist, wird WPF es nicht in den Treffer-Test einbeziehen.

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