Mam sposób zaznaczania całego tekstu po kliknięciu na TextBox; Chcę zrobić to samo dla edytowalnego combobox - din znaleźć wszystko. Mój kod dla TextBox toEdytowalne przez WPF ComboBox SelectAll po kliknięciu
private void OnPreviewMouseDown(Object sender, MouseButtonEventArgs e)
{
txtBox.SelectAll();
txtBox.Focus();
e.Handled = true;
}
Jak można zrobić to samo dla edytowalnego combobox?
Aktualizacja Kod Combox że daje mi wyjście, które chcę:
private void cboMouseDown(object sender, MouseButtonEventArgs e)
{
var textBox = (cbo.Template.FindName("PART_EditableTextBox", cbo) as TextBox);
if (textBox != null)
{
textBox.SelectAll();
cbo.Focus();
e.Handled = true;
}
}
ale teraz rozwijanej combobox nie działa, jakieś sugestie?
Update-2: Zamiast PreviewMouseDown - wypróbowałem PreviewMouseUp i teraz pojawi się rozwijane menu; ale gdy raz kliknęło to pole, a następnie spróbował otworzyć rozwijane okno - okno zamarzło. Jednak wykonałem pracę, o której pisałem poniżej. Byłbym wdzięczny za komentarze, jeśli jest to właściwe i bezpieczne rozwiązanie.
Dlaczego nie używać 'Focus' zdarzenie (na obu kontrolach)? Zdarzenia myszy nie działają we wszystkich przypadkach (nawigacja za pomocą klawiatury, dotyk, ...). – ChrFin
W trybie Gotfocus tekst jest domyślnie zaznaczony. Moim wymaganiem jest wpisanie niektórych znaków, jeśli użytkownik kliknie to, co wpisał - cały tekst zostanie wybrany tak, aby mógł zacząć od nowa. Domyślne zachowanie polega na tym, że pierwszy raz klikniesz cały tekst; ale po następnym kliknięciu kursor przechodzi do miejsca kliknięcia, a tekst pozostaje niewybrany. – marifrahman
** Wystarczy sprawdzić te linki - ** [Wybierz ComboBox Tekst] [1] [Jak dodać skupić na edytowalny ComboBox w WPF] [2] [1]: http: // stackoverflow.com/q/19728650/2025489 [2]: http://stackoverflow.com/a/2964222/2025489 – LogicalDesk