2014-04-07 2 views
0

У меня есть сетка Infragistics с ячейкой со следующим EditorStyle (устанавливаются с помощью статического ресурса):WPF TextChanged помещает курсор после первой буквы

<Style x:Key="ProgramName_EditorStyle" TargetType="{x:Type igEditors:XamTextEditor}"> 
     <Setter Property="DataContext" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type igDP:CellValuePresenter}}, Path=DataContext}" /> 
     <Setter Property="Text" Value="{Binding DataItem.Name, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" /> 
     <EventSetter Event="TextChanged" Handler="TextChangedHandler"/>   
    </Style> 

Это код позади для TextChangedHandler:

void TextChangedHandler(object sender, RoutedPropertyChangedEventArgs<string> e) 
     { 
      var editor = sender as XamTextEditor; 
      if (editor == null) 
       return; 

      var record = editor.DataContext as DataRecord; 
      if (record == null) 
       return; 

      var list = record.DataPresenter.DataContext as MyProgramListViewModel; 
      if (list == null) 
       return; 

      var data = record.DataItem as MyProgramSummaryViewModel; 
      if (data == null) 
       return; 

      MyProgramSummaryViewModel toBeAdded = null; 

      if (data.ReinsuranceSummary == null) 
       toBeAdded = 
        MyProgramSummaryViewModel.Create(
         new ProgramSummary { EnteredDate = DateTime.UtcNow, EditedDate = DateTime.UtcNow }, list); 

      if (toBeAdded != null) 
      { 
       data.Summary = toBeAdded.Summary; 
       data.Master = toBeAdded.Master; 

      } 
      data.Name = e.NewValue; 
      Debug.Print(e.NewValue); 

     } 

Проблема возникает, когда я начинаю печатать в ячейке. Если я хочу войти в abc, я получаю bca. Случается, что после ввода первого символа курсор возвращается к началу ячейки, делая первую букву последней. Как это можно зафиксировать?

ответ

0

Я думаю, что вы должны позвонить в конце вашего TextChangedHandler

e.Handled = true; 
+0

Неа. Это не работает. – laconicdev

+0

Вы уверены, что текст не изменяется в коде? – csharpwinphonexaml

+0

Да. Похоже, что существует конфликт между Я копаю больше в нем. – laconicdev

Смежные вопросы