lightswitch 上行布局的宽度为零 html

Width for Row Layout is zero on lightswitch html

在 Lightswitch html 中,当向行布局添加 div 时,我将 div 的宽度设置为 0。

 myapp.Home.Group_postRender=function (element, contentItem) {     
   var div = $("<div></div>").attr('id', "container")    
  div.appendTo($(element));
}

我将 div“container”的宽度设置为零,而且我已经检查了此 div、$(". msls-ctl-rows-layout") 的父项,其宽度为也为零。 但是在渲染之后,rowslayout 的宽度在 dom 中是 439px。如何在渲染时为我的容器获取此默认宽度。

注意:行布局的大小为“Strech to Container

在 postRender 方法触发时,LightSwitch 的参数化布局尚未发生。因此,您的行布局组的宽度仍然为零。

但是,通过将代码延迟到 LightSwitch 完成其参数化布局,您仍然可以在 postRender 函数中访问宽度。这可以通过使用 jQuery 移动设备 pagechange event 来实现(因为 LightSwitch HTML 客户端使用 jQuery 移动设备),如下所示:

myapp.Home.Group_postRender = function (element, contentItem) {
    var div = $("<div></div>").attr('id', "container")
    div.appendTo($(element));

    $(window).one("pagechange", function (e, navigationData) {
        alert($(element).width());
    });
};