Я пытаюсь установить начальный фокус на элемент управления в форме Silverlight.Я пытаюсь использовать вложенные свойства, чтобы фокус можно было указать в файле XAML.Я подозреваю, что фокус устанавливается до того, как элемент управления будет готов принять фокус.Кто-нибудь может проверить это или предложить, как этот метод может работать?
Вот мой код XAML для TextBox
<TextBox x:Name="SearchCriteria" MinWidth="200" Margin ="2,2,6,2" local:AttachedProperties.InitialFocus="True"></TextBox>
Свойство определено в AttachedProperties.cs:
public static DependencyProperty InitialFocusProperty =
DependencyProperty.RegisterAttached("InitialFocus", typeof(bool), typeof(AttachedProperties), null);
public static void SetInitialFocus(UIElement element, bool value)
{
Control c = element as Control;
if (c != null && value)
c.Focus();
}
public static bool GetInitialFocus(UIElement element)
{
return false;
}
Когда я ставлю точку останова в методе SetInitialFocus, он срабатывает, и элемент управления действительно является желаемым TextBox, и он вызывает Focus.
Я знаю, что другие люди создавали поведение и такое для достиженияэто задание, но мне интересно, почему это не сработает.