在silverlight中设置登录子窗口的焦点

在silverlight中设置登录子窗口的焦点,silverlight,silverlight-4.0,Silverlight,Silverlight 4.0,当我的silverlight应用程序加载后,会弹出一个silverlight儿童窗口,要求用户登录。我想在childwindow中设置用户名字段的焦点。这不管用。我试过经典的 loaded += event... 我读了另一篇文章,问题是现在silverlight控件像对象一样托管,而不是在中,所以我无法让javascript正常工作。我尝试在silverlight.asp页面中为对象添加id,但没有成功。 有人知道如何在SL 4中设置childwindow的焦点吗?我在发布的链接中提供了一点

当我的silverlight应用程序加载后,会弹出一个silverlight儿童窗口,要求用户登录。我想在childwindow中设置用户名字段的焦点。这不管用。我试过经典的

loaded += event...
我读了另一篇文章,问题是现在silverlight控件像对象一样托管,而不是在
中,所以我无法让javascript正常工作。我尝试在silverlight.asp页面中为对象添加id,但没有成功。
有人知道如何在SL 4中设置childwindow的焦点吗?

我在发布的链接中提供了一点帮助,成功地解决了这个问题 问题是我的silverlight应用程序在加载时没有获得焦点。因此,通过添加javascript,问题得到了解决:

<script type="text/javascript">
    window.onload = function () {

        document.getElementById('silverObj').focus();
    }
</script>

<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="silverObj" width="100%" height="100%">

window.onload=函数(){
document.getElementById('silverObj').focus();
}

通过这种方式,我能够获得silverlight控件的焦点,然后我将加载的事件连接到我的childwindow上,以聚焦我的用户名

在构造函数中添加此代码:

System.Windows.Browser.HtmlPage.Plugin.Focus()


希望有帮助

“经典”加载的事件是什么样子的?如果您向我们展示您尝试过的实际代码,这会有所帮助。我有一个名为Loginwindow的儿童窗口,它是最后一个加载的窗口。在那个子类中,我连接了Loaded+=newroutedeventhandler(LoginWindow_-Loaded);然后在该方法中添加了loginName.focus();问题似乎在于浏览器没有关注实际的silverlight控件。因为只要我单击silverlight窗口中的任意位置,我就会获得正确的焦点。请尝试编辑您的问题以包含代码,注释不是获取其他详细信息的好地方。还显示了在javascript中聚焦silverlight对象元素的尝试