gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 02:35:49 25 4
gpt4 key购买 nike

我有一个简单的 ChildWindow Silverlight 4(测试版)中的弹出窗口。

重要提示:这是 浏览器外应用。

我想将焦点自动设置在 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(名称 =“内容”),它(我认为)是子窗口。

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 - 如何在 Silverlight 4 浏览器外弹出窗口中将焦点设置在 TextBox 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com