locked
ScrollView Problem RRS feed

  • Frage

  • Hallo.

    Ich habe eine eigene TextBox gemacht.

    Diese TextBox gehört beim TabStop ausgelassen aber ich möchte trotzdem das der User händisch reinklicken kann und etwas reinschreiben darf.

    Jetzt habe ich auf der TextBox IsTabStop=False gesagt aber beim MouseLeftButtonDown Event lass ich ihn reinklicken.

    Nur ist die TextBox in einem ScrollViewer und das funktioniert nicht.

    Wenn man den ScrollViewer weggibt dann funktioniert es?!?!

    Hat wer eine Idee?

    Vielen Dank Pat

     

    Public Class MyTextBox
       Inherits TextBox
    
       Sub New()
    
       End Sub
    
       Private Sub TextBox_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown
          If Me.IsTabStop = False Then
             Me.IsTabStop = True
             Me.Focus()
             Me.IsTabStop = False
          End If
    
       End Sub
    
    
    End Class

          <ScrollViewer>
             <Grid>
                <Grid.ColumnDefinitions>
                   <ColumnDefinition Width="150"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                   <RowDefinition Height="30"/>
                </Grid.RowDefinitions>
                
                <local:MyTextBox IsTabStop="False"/>
             </Grid>
             
          </ScrollViewer>

    Mittwoch, 27. November 2013 13:32

Alle Antworten

  • Hallo,
    ich verstehe den Sinn des ganzen nicht. Wenn manso etwas grundlegendes nicht mit der Tastatur ansteuern kann, aber mit der Maus, dann würde ich schon nein zum Programm sagen - Ich bin kein "Mausianer"...

    Zum Problem selbst
    Die TextBox verarbeitet das MouseDown-Event für sich und der ScrollViewer schluckt es danach. Du hast also auf diesem Weg keine Change um an das Control heran zu kommen. Die TextBox braucht i.d.R. auch kein Event wie MouseDown. Meine Einzige Idee dazu ist die, die Vorlage der TextBox zu überschreiben und dort zu versuchen an das Event heran zu kommen. Das das funktioniert bezweifle ich aber.


    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.

    Mittwoch, 27. November 2013 15:54
  • Sinn dahinter ist:

    Es gibt eine Einstellung ob dieser Text automatisch gebildet werden soll in der TextBox.

    Falls ja, dann soll der Text automatisch reingeschrieben werden, aber mit der Tab Reihenfolge die TextBox auslassen.

    Aber der User hätte noch die Möglichkeit selber hineinzuklicken.

    Oder gibt es hier eine andere Möglichkeit?

    Danke

    MfG

    Donnerstag, 28. November 2013 06:06
  • Wäre es nicht einfacher, den TabIndex zu manipulieren? Setz ihn auf 999 und er ist quasi "nicht aktiv".

    Grüße, Tobi


    Best Regards. When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer. This helps us build a healthy and positive community.

    Freitag, 10. Januar 2014 10:08