none
WPF + C#: Kontextmenü mit Textbox RRS feed

Antworten

  • Hallo,
    unmöglich ist es nicht.

    <ContextMenu>
        <TextBox MinHeight="23" MinWidth="120"/>
    </ContextMenu>

    So ist das Design antürlich nicht wirklich ansprechend. Nun hast du 2 Möglichkeiten:

    1. Du lässt das ContextMenü weg und implementierst dein eigenes Menü in einem Popup. Dort musst du dann die gesamte Interaktionslogik selbst implementieren. Dafür kannst du aber alles so frei gestellten, wie ein Fenster. Hier findest du ein Beispiel dazu.
    2. Du überschreibst den ItemContainerStyle des Kontexmenüs. Dadurch kannst du beispielsweise da ControlTemplate so ändern, dass nur noch die TextBox selbst angezeigt wird. Wenn normale Itemebenfalls in dem Menü enthalten sind, musst du eine Kalsse für die ItemContainerStyleSelector-Eigenschaft schreiben. Mehr dazu erfährst du hier.


    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    • Als Antwort markiert frank me Montag, 26. Mai 2014 13:52
    Montag, 26. Mai 2014 13:39
    Moderator

Alle Antworten

  • Hallo,
    unmöglich ist es nicht.

    <ContextMenu>
        <TextBox MinHeight="23" MinWidth="120"/>
    </ContextMenu>

    So ist das Design antürlich nicht wirklich ansprechend. Nun hast du 2 Möglichkeiten:

    1. Du lässt das ContextMenü weg und implementierst dein eigenes Menü in einem Popup. Dort musst du dann die gesamte Interaktionslogik selbst implementieren. Dafür kannst du aber alles so frei gestellten, wie ein Fenster. Hier findest du ein Beispiel dazu.
    2. Du überschreibst den ItemContainerStyle des Kontexmenüs. Dadurch kannst du beispielsweise da ControlTemplate so ändern, dass nur noch die TextBox selbst angezeigt wird. Wenn normale Itemebenfalls in dem Menü enthalten sind, musst du eine Kalsse für die ItemContainerStyleSelector-Eigenschaft schreiben. Mehr dazu erfährst du hier.


    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    • Als Antwort markiert frank me Montag, 26. Mai 2014 13:52
    Montag, 26. Mai 2014 13:39
    Moderator