Probleme mit Touch und Keyboard Fokus

  • WPF

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Gonger96.

    Probleme mit Touch und Keyboard Fokus

    Hallo,

    ich habe eine WPF Anwendung die auf einem Touch Gerät läuft. Sobald man in ein Textfeld klickt, öffnet sich die Bildschirmtastatur (so wie es sein soll). Wenn man allerdings einen Dialog öffnet in dem eine Textbox als erstes/einziges fokussierbares Element angeordnet ist, dann öffnet sich die Bildschirmtastatur sofort beim Öffnen des Dialogs. Bei einem Tabcontrol ist es noch schlimmer: Immer wenn man die Tabpage wechselt und eine Textbox auf der Tabpage ist, öffnet sich die Bildschirmtastatur.
    Das ist zum Bedienen wirklich nervig. Gibt es eine Möglichkeit dieses automatische Setzen des Keyboardfokus zu verhindern, sodass der Fokus manuell über den "Klick" gesetzt werden muss?

    Grüße
    Hallo

    Und wenn du einem anderen Element (Platziere z.b. eine Grafik oder irgendwas was nicht stört) den Forus gibst?

    Hättest du eine kleine DemoApp und das nachvollziehen zu können?

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Spoiler anzeigen

    XML-Quellcode

    1. <Window x:Class="FocusTest.MainWindow"
    2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    6. xmlns:local="clr-namespace:FocusTest"
    7. mc:Ignorable="d"
    8. Title="MainWindow" Height="450" Width="800">
    9. <Grid>
    10. <TabControl>
    11. <TabItem Header="Page 1">
    12. <StackPanel Margin="20">
    13. <TextBlock Text="Eigenschaft 1:"/>
    14. <TextBox Margin="10" HorizontalAlignment="Left" MinWidth="300"/>
    15. <TextBlock Text="Eigenschaft 2:"/>
    16. <TextBox Margin="10" HorizontalAlignment="Left" MinWidth="300"/>
    17. </StackPanel>
    18. </TabItem>
    19. <TabItem Header="Page 2" FocusManager.FocusedElement="{Binding ElementName=tbTest}">
    20. <StackPanel Margin="20">
    21. <TextBlock Text="Eigenschaft 1:" x:Name="tbTest"/>
    22. <TextBox Margin="10" HorizontalAlignment="Left" MinWidth="300"/>
    23. <TextBlock Text="Eigenschaft 2:"/>
    24. <TextBox Margin="10" HorizontalAlignment="Left" MinWidth="300"/>
    25. </StackPanel>
    26. </TabItem>
    27. </TabControl>
    28. </Grid>
    29. </Window>

    Nachdem die App startet, ist nichts fokussiert. Wenn man jetzt die Tabpage wechselt, dann fokussiert WPF automatisch die erste Textbox. Auf der "Page2" hab ich mal versucht den Fokus auf einen Textblock zu setzen, leider ohne Erfolg.
    Hast du den TextBlock auch auf Focusable gesetzt? Ist jetzt vermutlich ne dumme Frage, aber wer weiß :D Auch sonst würde ich es mal mit nem Button versuchen, wo das Fokussierverhalten eindeutiger ist.