Нужна помощь с калибровкой Message.Attach, когда TextBox получает фокус - PullRequest
0 голосов
/ 17 марта 2011

У меня есть TextBox, на котором я устанавливаю фокус, используя присоединенное свойство, привязанное к свойству модели представления.Вложенное свойство вызывает «UIElement.Focus ()» для установки фокуса.Проблема в том, что когда TextBox получает фокус таким образом, событие «GotFocus» не срабатывает.Я использую Caliburn.Micro's Message.Attach для обработки события.Любые идеи?

Вот текстовое поле.

<TextBox x:Name="Test"
         Grid.Column="0"
         Text="{Binding Test, Converter={StaticResource TestToStringConverter}}"
         AttachedProperties:FocusExtension.IsFocused="{Binding IsTestFocused}"
         cal:Message.Attach="[Event GotFocus] = [Action OnGotFocus($eventargs)]; />

Вот свойство Attached (находится на SO).

1 Ответ

0 голосов
/ 22 марта 2011

Я попробовал это сам и могу повторить проблему. Я не совсем уверен, почему это происходит, это может иметь какое-то отношение к жизненному циклу пользовательского элемента управления (т.е. представления). Одним из вариантов может быть расширение вашего присоединенного свойства, чтобы оно вызывало глагол в вашей модели представления в точке, в которой оно вызывает uie.Focus().

Имя глагола может быть свойством зависимости для вашего FocusExtension присоединенного свойства и может быть установлено в представлении.

...