silverlight 获得焦点问题 你获得了没?反正我失败了
按理说在窗体(或者说自定义控件)的loaded事件中对内部某一可编辑控件进行Focus()设置,程序运行后,该控件就应该获得焦点。
在ie下测试是没有问题的,但是在chrome浏览器下不成功,查看了一些例子后发现,有2中方式可以尝试解决该问题:
1、在合适的地方(如loaded事件)加入如下代码HtmlPage.Plugin.Focus();
2、在承载sl插件的文件中增加javascript代码控制获得焦点;
写一个javascript方法以备调用
function appLoad(sender, args) {
var xamlObject = document.getElementById('silverlightControl');
if (xamlObject != null)
xamlObject.focus();
}
在object节点中增加id属性 id="silverlightControl"
增加 param <param name="onLoad" value="appLoad" />
----------------------------------------------------------------------------------------------------------------------------------------------
其实两种方法的原理是一样的,只是前者在服务端进行处理而后者是在前端处理。可惜我两种方法都没有试验成功,有时候后再继续测试并记录下测试结果。
(牵扯到浏览器兼容性就头大,简直是又见神马啊!)