Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How Do I Give a Textbox Focus in Silverlight?

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();         }     } } 
like image 696
Ben Griswold Avatar asked Sep 24 '08 00:09

Ben Griswold


1 Answers

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():

   private void UserControl_Loaded(object sender, RoutedEventArgs e)    {               System.Windows.Browser.HtmlPage.Plugin.Focus();       RegularTextBox.Focus();    } 
like image 72
Jim B-G Avatar answered Oct 04 '22 14:10

Jim B-G