如何在Silverlight 4浏览器外d出窗口中将焦点设置在TextBox上

如何在Silverlight 4浏览器外d出窗口中将焦点设置在TextBox上,第1张

概述我在Silverlight 4(测试版)中有一个简单的 ChildWindowd出窗口. 重要提示:这是一个不在浏览器中的应用程序. 我希望在窗口打开时自动将焦点放在TextBox控件上. 我尝试了几件事: 以下代码似乎没有做任何事情.在“加载”之后我不认为控件已经准备就绪了. private void ChildWindow_Loaded(object sender, RoutedEventAr 我在Silverlight 4(测试版)中有一个简单的 ChildWindowd出窗口.

重要提示:这是一个不在浏览器中的应用程序.

我希望在窗口打开时自动将焦点放在TextBox控件上.

我尝试了几件事:

以下代码似乎没有做任何事情.在“加载”之后我不认为控件已经准备就绪了.

private voID ChilDWindow_Loaded(object sender,RoutedEventArgs e)    {          textBox1.Focus();    }

这有效,但其笨重.

private voID ChilDWindow_GotFocus(object sender,RoutedEventArgs e)    {          if (_firstTime == true) {              textBox1.Focus();             _firstTime = false;          }    }

有没有更好的方法?我总是不得不在WinForms中做这样可怕的事情,但希望不再需要.

注意:此similar question仅适用于浏览器.它建议调用System.windows.browser.HTMLPage.Plugin.Focus();这不起作用,实际上在Silverlight 4 beta浏览器上运行时会出错.

解决方法 我在Silverlight 4(OOB)中遇到了同样的问题,我注意到选项卡序列会将焦点设置为我无法看到的控件.似乎正在发生的事情是焦点被设置为您的控件(选项卡序列中的第一个),然后由于某种原因焦点移动到ContentControl(name =“content”),其中(我认为)是父的孩子的窗户.

默认情况下,ContentControl的IsTabStop = true.
看到….
Why would I want IsTabStop set to true on a ContentControl?
要为应用中的所有ContentControl设置ContentControl.IsTabStop = false,请将其添加到styles.xaml中.

<Style  targettype="ContentControl" >         <Setter Property="IsTabStop" Value="false"/>    </Style>

MainPage上的选项卡序列也会出现同样的问题.这种风格也会解决这个问题.

总结

以上是内存溢出为你收集整理的如何在Silverlight 4浏览器外d出窗口中将焦点设置在TextBox上全部内容,希望文章能够帮你解决如何在Silverlight 4浏览器外d出窗口中将焦点设置在TextBox上所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1004194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存