Ben*_*old 32 silverlight textbox focus
在我的Silverlight应用程序中,我似乎无法将焦点带到TextBox控件.在各种帖子的推荐下,我将IsTabStop属性设置为True,我使用的是TextBox.Focus().虽然UserControl_Loaded事件正在触发,但TextBox控件没有获得焦点.我在下面包含了我非常简单的代码.我错过了什么?谢谢.
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>
Run Code Online (Sandbox Code Playgroud)
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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 41
我在silverlight.net上找到了这个,并且通过在调用RegularTextBox.Focus()之前添加对System.Windows.Browser.HtmlPage.Plugin.Focus()的调用,能够让它为我工作:
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
System.Windows.Browser.HtmlPage.Plugin.Focus();
RegularTextBox.Focus();
}
Run Code Online (Sandbox Code Playgroud)
rek*_*kle 23
Plugin.Focus();
Run Code Online (Sandbox Code Playgroud)
不适合我.
调用
Dispatcher.BeginInvoke(() => { tbNewText.Focus();});
Run Code Online (Sandbox Code Playgroud)
从Load事件起作用.
小智 10
谢谢Santiago Palladino Dispatcher完美地为我工作.我在做的是:
this.Focus(); 然后Dispatcher.BeginInvoke(()=> {tbNewText.Focus();});
| 归档时间: |
|
| 查看次数: |
42612 次 |
| 最近记录: |