quando provo a mettere a fuoco il mio "autocompletetextbox" non sono riuscito a scrivere autocompletetextbox.focus()
ma il cursore si focalizza ancora su un altro cosa dovrei fare o scrivere per consentire di scrivere in esso o mettere a fuoco?focus autocompletebox nel wpf
risposta
Ho sperimentato la stessa cosa: non funziona correttamente nella sua forma attuale (mi aspetto che tu stia parlando di AutoCompleteBox incluso nella versione di WPFToolkit di febbraio 2010).
ho creato una sottoclasse:
public class AutoCompleteFocusableBox : AutoCompleteBox
{
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
var textbox = Template.FindName("Text", this) as TextBox;
if(textbox != null) textbox.Focus();
}
}
Questo imposta l'attivazione al reale TextBox
(chiamato "Text"), che fa parte del predefinito ControlTemplate
.
Sembra che sia necessario attendere prima che la casella di completamento automatico venga caricata. Quindi impostare concentrarsi
<sdk:AutoCompleteBox
x:Name="_employeesAutoCompleteBox"
ItemsSource="{Binding Path=Employees}"
SelectedItem="{Binding SelectedEmployee, Mode=TwoWay}"
ValueMemberPath="DisplayName" >
</sdk:AutoCompleteBox>
_employeesAutoCompleteBox.Loaded +=
(sender, e) => ((AutoCompleteBox)sender).Focus();
si dovrà eseguire l'override del metodo di messa a fuoco per trovare il modello della casella di testo.
public class FocusableAutoCompleteBox : AutoCompleteBox
{
public new void Focus()
{
var textbox = Template.FindName("Text", this) as TextBox;
if (textbox != null) textbox.Focus();
}
}
' utilizzando System.Windows.Controls; 'anche – mbdavis
Questa è la mia soluzione per la messa a fuoco su AutoCompleteTextBox Controllo testo:
MyPageLoaded private void (object sender, RoutedEventArgs e) {
var myPage = (MyControl)sender;
var autoTextBox = (AutoCompleteTextBox)myPage.FindName("AutoTextBox");
if (autoTextBox != null)
{
var innerTextBox = autoTextBox.textBox;
if (innerTextBox != null)
{
innerTextBox.Focus();
}
}
}
Questo è molto vecchia domanda, ma voglio condividere il mio work-around.
Keyboard.Focus(autocompletetextbox);
autocompletetextbox.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
Questo funziona in WPFToolkit v3.5.50211.1
su Visual Studio Express 2015 for Windows Desktop
Semplice e funziona per me. Grazie! – landsteven
Questa è la mia soluzione,
ho trovato più facile che avendo ereditato classe
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
var textBox = FindVisualChild<TextBox>(CodedCommentBox);
textBox.Focus();
}
private TChildItem FindVisualChild<TChildItem>(DependencyObject obj) where TChildItem : DependencyObject
{
for (var i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
var child = VisualTreeHelper.GetChild(obj, i);
var item = child as TChildItem;
if (item != null)
{
return item;
}
var childOfChild = FindVisualChild<TChildItem>(child);
if (childOfChild != null)
{
return childOfChild;
}
}
return null;
}
Grazie, funziona – Harmi
- 1. WPF e touch - focus issue
- 2. WpfToolkit AutoCompleteBox ContextMenu non funziona
- 3. AutoCompleteBox e SearchText Clear
- 4. Set focus sul testo in WPF
- 5. WPF Datagrid -DataGridTemplateColumn tab focus issue
- 6. Come impostare Focus su un controllo WPF usando MVVM?
- 7. Focus cursore sulla casella di testo in WPF/C#
- 8. incoerenza nel comportamento di comando di routing WPF seconda il focus UI Stato
- 9. Come aggiungere un focus a un ComboBox modificabile in WPF
- 10. Prevent Window Focus Change
- 11. WPF FindAncestor nel legame
- 12. Mipmapping nel wpf
- 13. UITextField focus
- 14. Simulazione "focus" e "sfocatura" nel metodo di jQuery .Live()
- 15. Impostazione Focus su nuovi elementi nel controllo degli articoli
- 16. ScrollViewer ruba focus
- 17. Ricaricamento di un'immagine nel wpf
- 18. WPF Altezza automatica nel codice
- 19. Separatore verticale nel nastro WPF
- 20. Come capovolgere l'immagine nel wpf
- 21. jQuery UI Focus Stealing
- 22. jQuery - Focus su TR
- 23. Sapere chi ha il focus su un evento Lost Focus
- 24. Cosa fa jQuery .focus (1)? In cosa differisce da .focus()?
- 25. Focus su DataGridCell per SelectedItem quando DataGrid riceve il focus sulla tastiera
- 26. PyQt Window Focus
- 27. Android EditText prossimo focus
- 28. $ .focus() non funziona
- 29. TextInputLayout auto focus
- 30. -moz-focus-inner
dove devo mettere questa classe Ho provato alla classe che ha la scatola auto completa ma non funziona? – kartal
Nel tuo XAML usi questo invece di 'AutoCompleteBox'. Quindi se hai questa classe nello spazio dei nomi XYZ, importi quel namespace nella radice del file XAML, con un alias come xyz e poi usi –
Jay
I provato ma mescolato fammi un errore AutoCompleteFocusableBox non supporta wpf !!! – kartal