Ich habe mehr Pop-ups in meiner WPF-Anwendung, die gut funktionieren.vb.net wpf Popup keinen Fokus
Doch diese letzte ist Fokus oder Eingabe in die Textfelder nicht zu akzeptieren. Und ich verstehe nicht warum.
<Label x:Name="lblSearch" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5" Height="30" Width="Auto">Search</Label>
<TextBox Name="txtSearch" Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5" Height="30" Width="200" IsReadOnly="False" IsEnabled="True"></TextBox>
<Button Name="btnSearch" Grid.Row="0" Grid.Column="2" Style="{StaticResource ButtonSmall}" Template="{DynamicResource BlackButton}" Margin="5">Search</Button>
<Label x:Name="lblReplace" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5" Height="30" Width="Auto">Replace</Label>
<TextBox Name="txtReplace" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,5" Height="30" Width="200" IsReadOnly="False" IsEnabled="True"></TextBox>
<Button Name="btnReplace" Grid.Row="1" Grid.Column="2" Style="{StaticResource ButtonSmall}" Template="{DynamicResource BlackButton}" Margin="5">Replace</Button>
<Button Name="btnStopSearch" Grid.Row="2" Grid.Column="3" Style="{StaticResource ButtonSmall}" Template="{DynamicResource BlackButton}" Margin="5">Done</Button>
<DockPanel Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2">
</DockPanel>
</local:GridEx>
</DockPanel>
</Border>
</Border>
</Popup>
habe ich versucht, diesen Code Fokus auf sie zu zwingen, aber ohne Erfolg:
Private searchWhere As String = Nothing
Private Sub txtTypeEditor_keyDown(sender As Object, e As Forms.KeyEventArgs) Handles txtTypeEditor.KeyDown
If e.KeyCode = Forms.Keys.F AndAlso e.Control AndAlso Not e.Alt AndAlso Not e.Shift Then
PopupSearch.IsOpen = True
txtSearch.Focus()
Keyboard.Focus(txtSearch)
searchWhere = "TypeEditor"
e.Handled = True
End If
End Sub
Private Sub Popup1_Opened(sender As Object, e As EventArgs) Handles PopupSearch.Opened
txtSearch.Focus()
Keyboard.Focus(txtSearch)
End Sub
Es ist der txtTypeEditor erscheint den Fokus hält auf. Irgendeine Idee, wie man es verwischt?
Ich habe jetzt eine Lösung: Wenn ich die Textbox verschwimmen durch einen anderen textBox Fokussierung dann das Popup den Fokus nimmt.
Wenn der Benutzer jedoch in das Textfeld txtTypeEditor klickt und dann auf ein Eingabefeld im Popup klickt, wechselt der Mausfokus zum Popup, aber der Tastaturfokus bleibt in der Textbox.
Ich weiß nicht, wie für STRG + F-Taste zu überprüfen, mit keyPress – Adder
Sie die STRG-Presse über _keydown erfassen könnte und setze im Handler einen bool Wert ctrl = true, dann check in der _keyPress für "F" gedrückt und ctrl = true – DonGru