6

İstemcim metin girebilmeyi ve listeden seçebilmeyi istediğinden, Otomatik Tamamlama Kutusunun SelectedText ve SelectedItem özelliklerini bağlamak istiyorum. Düzgün çalışıyor ancak ...Otomatik Tamamlayıcı Seçili Metin Ayrıntısı

MainPage'in bir DataGrid'i var. Izgaradan (yani SelectedItem) bir kayıt seçtiğimde, onu bir açılır pencerenin Otomatik Tamamlama Kutusunda ayarlamak istiyorum. Bazı zamanlarda çalışır ama bazen olmaz.

Bu sorun için ne yapmalıyım?

Bu

benim XAML geçerli:

<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> 

Bu özellik benim bakış-modelinde olup DataGrid'e bağlı:

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

Sorunuz nedir? – ean5533

+0

Sorunum var SelectedText Property Bir süre uygun ayarlanmış olmalı ve düzgün ayarlanmamış bir süre –

+2

kod örneğinizin bazılarını ve/veya aynı görüntüyü gönderebilir misiniz? – Amitd

cevap

3

Sen kullanmamalısınız fonksiyon hem SelectedText ve SelectedItemotomatik tamamlama. AutoCompleteBox bir hata ... Daha iyi bir yol, metin kutusunun ve AutoCompleteBox görünürlüğünü GotFocus ve LossFocus üzerine ayarlamaktır. Bu şekilde size meydan okurcasına meydan okuyacaksınız Sorun

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

ve ans'ınız benim sorumu ile uyumlu değil –