Frage

würde Ich mag einen Expander von Expansions- / Kollabieren zu verhindern, wenn Benutzer in dem Header-Bereich klicken. Dies ist im Grunde die gleiche Frage wie Q 1.396.153 , aber ich würde eine günstigere Antwort zu schätzen wissen:)

Gibt es eine nicht-invasive Art und Weise, dies zu tun? Ich bin nicht sicher, wie das Verhalten auf den Expander.Header Inhalt befestigen Mausklicks zu verhindern. Ich bin bereit, außerhalb des Expanders in Inhalt zu schweben selbst über ein festes Raster-Layout, aber ich bin gespannt, nicht auf der Lösung. Ideen?

XamlPad Probe XAML:

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Expander>
    <Expander.Header><TextBlock>
        When I click this text, 
        I don't want to trigger expansion/collapse! Only when I click the 
        expander button do I want to trigger an expand/collapse!
    </TextBlock></Expander.Header>

    <Grid Background="Red" Height="100" Width="100" >
    </Grid>
    </Expander>
</Page>
War es hilfreich?

Lösung

Sie können von Mausklicks auf dem Textfeld beenden von der Anwendung behandelt werden.

XAML:

<Expander>
    <Expander.Header>
        <TextBlock MouseDown="TextBlock_MouseDown"> 
            When I click this text,  
            I don't want to trigger expansion/collapse! Only when I click the  
            expander button do I want to trigger an expand/collapse!
                    </TextBlock>
        </Expander.Header>
    <Grid Background="Red" Height="100" Width="100" >
    </Grid>
</Expander>

-Code hinter:

private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e)
{
    e.Handled = true;
}

Andere Tipps

Ich weiß nicht, ob dies ein Greuel ist, aber ich habe den Inhalt aus dem Expander.Header bewegt und getan einige Grid / festes Layout / Panel.ZIndex Tricks, um es erscheinen zu lassen, dass der Inhalt der ist Expander.Header ... aber es ist nicht. Dies funktioniert, aber es ist schrecklich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top