6

Voglio associare sia le proprietà SelectedText e SelectedItem di un riquadro di completamento automatico perché il mio cliente vuole essere in grado di inserire testo e selezionare anche dall'elenco. Funziona correttamente ma ...Casella di completamento automatico Bug di testo selezionato

MainPage ha un DataGrid. Quando seleziono un record dalla griglia (cioè l'oggetto selezionato), desidero impostarlo in una finestra di dialogo automatica della finestra popup. Alcune volte funziona, ma a volte no.

Cosa devo fare per questo problema?

Questo è il mio XAML:

<Sdk:AutoCompleteBox Grid.Column="3" Grid.Row="3" Height="18" Width="150" 
    IsTextCompletionEnabled="True" TabIndex="9" HorizontalAlignment="Left" 

    Text="{Binding ElementName=ResEdit,Path=DataContext.SelectedDemoText,Mode=TwoWay}" 
    ItemsSource="{Binding ElementName=ResEdit,Path=DataContext.DemoList,Mode=OneWay}" 
    ItemTemplate="{StaticResource DemoTemplate}" 
    ValueMemberPath="DemoCode" 
    LostFocus="AutoCompleteBox_LostFocus" 
    Margin="0,0,21,0" Padding="0"> 
    </Sdk:AutoCompleteBox> 

Questa proprietà è, a mio avviso, il modello e legato al DataGrid:

public InvoicesDTO SelectedInvoice 
{ 
    get { return _selectedInvoice; } 
    set 
    { 
     SelectedInvoice = value; 
     SelectedDomoText = SelectedInvoice.DemoText.Trim(); 
     RaisePropertyChanged("SelectedInvoice"); 
    } 
} 
+0

Qual è la tua domanda? – ean5533

+0

Ho un problema con la proprietà SelectedText impostata Qualche volta dovrebbe essere impostata correttamente e un po 'di tempo non impostato correttamente –

+2

puoi pubblicare parte del tuo codice di esempio e/o immagine dello stesso? – Amitd

risposta

3

Si consiglia di non utilizzare sia la funzione SelectedText e SelectedItem in completamento automatico. è un bug di AutoCompleteBox ..... Un modo migliore è impostare la visibilità della casella di testo e AutoCompleteBox su GotFocus e LossFocus. Questo modo per risolverti in modo provocatorio problema

private void DemoAutoComplete_LostFocus(object sender, RoutedEventArgs e) 
      { 
       DemoTextBox.Visibility = Visibility.Visible; 
       DemoAutoComplete.Visibility = Visibility.Collapsed; 
       DemoTextBox.Text = OCRAutoComplete.Text; 

       ((DemoVM)this.DataContext).SelectedDemoText = DemoAutoComplete.Text; 
      } 



private void DemoTextBox_GotFocus(object sender, RoutedEventArgs e) 
    { 
     DemoAutoComplete.Text = OctTextBox.Text; 
     DemoTextBox.Visibility = Visibility.Collapsed; 
     DemoAutoComplete.Visibility = Visibility.Visible; 
     DemoAutoComplete.Focus(); 
    } 
+0

tuo ans non è compatibile con la mia domanda –

Problemi correlati