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" /> 

----------------------------------------------------------------------------------------------------------------------------------------------

其实两种方法的原理是一样的,只是前者在服务端进行处理而后者是在前端处理。可惜我两种方法都没有试验成功,有时候后再继续测试并记录下测试结果。

(牵扯到浏览器兼容性就头大,简直是又见神马啊!)

posted @ 2011-11-08 15:55  niky  阅读(872)  评论(0编辑  收藏  举报