none
Alt - {Key} TextBlock wie Label mit _ RRS feed

  • Frage

  • Hi,

    vielleicht kann mir jemand helfen. Ich will das Beste aus 2 Controls verbinden ;)

    TextTrimming von TextBlock
    und ALT - {Key} mit _ von Label

    Hat jemand sowas schon gelöst? Ich komm da leider nicht weiter. Gibt es da vielleicht irgendetwas was ich übersehen habe???

    Für Hilfe dankbar

    Gruß

    Patrick

    Freitag, 1. November 2013 16:16

Antworten

  • Hallo,
    es gibt da mehrere Möglichkeiten um das zu realisieren:

    1. Erstelle einen Command, den du mit Alt+Key verknüpfst. Beispiel:
              public static RoutedUICommand Cmd = new RoutedUICommand("Befehl ausführen", "Befehl ausführen", typeof(MainWindow),
                  new InputGestureCollection(new List<InputGesture>(new InputGesture[] { new KeyGesture(Key.Z, ModifierKeys.Alt, "Alt + Z") })));
      
              private void OnExecutedCommand(object sender, ExecutedRoutedEventArgs e)
              {
                  tb2.Focus();
              }
              xmlns:l="clr-namespace:WpfApplication41"
              Title="MainWindow" Height="350" Width="525" >
          <Window.CommandBindings>
              <CommandBinding Command="{x:Static l:MainWindow.Cmd}" Executed="OnExecutedCommand"/>
          </Window.CommandBindings>
      Somit musst du nur noch im TextBlock den jeweiligen Buchstaben unterstreichen:
      <TextBlock TextTrimming="WordEllipsis" TextWrapping="Wrap" > Test<Underline>Z</Underline></TextBlock>
      Der Buchstabe wird aber ggf. abgeschnitten.
    2. Verwende das Label und miss den String aus und kürze ihn ggf. (Beispiel hier). Das hat aber den Nachteil, das dadurch eventuell auch das Kontroll-Zeichen weg gelöscht wird, wodurch es gar nicht mehr funktioniert. Es ist also eine Mindestlänge erforderlich, sodass der _ nie verschwindet.

    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    • Als Antwort vorgeschlagen Ionut DumaModerator Mittwoch, 6. November 2013 15:57
    • Als Antwort markiert PDCPehrs Freitag, 8. November 2013 09:39
    Freitag, 1. November 2013 17:51
    Moderator

Alle Antworten