In my Silverlight application, I can’t seem to bring focus to a TextBox control. On the recommendation of various posts, I’ve set the IsTabStop property to True and I’m using TextBox.Focus(). Though the UserControl_Loaded event is firing, the TextBox control isn’t getting focus. I’ve included my very simple code below. What am I missing? Thanks.
Page.xaml
<UserControl x:Class='TextboxFocusTest.Page' xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' Loaded='UserControl_Loaded' Width='400' Height='300'> <Grid x:Name='LayoutRoot' Background='White'> <StackPanel Width='150' VerticalAlignment='Center'> <TextBox x:Name='RegularTextBox' IsTabStop='True' /> </StackPanel> </Grid> </UserControl>
Page.xaml.cs
using System.Windows; using System.Windows.Controls; namespace PasswordTextboxTest { public partial class Page : UserControl { public Page() { InitializeComponent(); } private void UserControl_Loaded(object sender, RoutedEventArgs e) { RegularTextBox.Focus(); } } }
I found this on silverlight.net, and was able to get it to work for me by adding a call to System.Windows.Browser.HtmlPage.Plugin.Focus() prior to calling RegularTextBox.Focus():