MainPage上的H192像素屏障
|
这是一个间歇性问题,其中应用程序的前192个像素可以正常绘制并正常工作,但是浏览器下面的所有内容均为白色,并且不响应单击。
大约一个月前开始,但是直到今天才在开发机器上发生。在测试服务器上,它是在不同的时间在不同的浏览器上发生的,但是它在Firefox,Chrome和IE 8上的故障比在IE 7上的故障多得多。有时,浏览器的整个客户端区域都是白色的,而不仅仅是白色192像素以下;我认为这是一个相关问题,但不确定。
在当今的开发机器上,它无法在IE(Visual Studio内部浏览器和IE 8)和FF上运行,但可以在Chrome下运行。
详细信息如下:
Silverlight 4,带有RIA服务的Entity Framework 4和VS 2010。
使用调试器中的断点,我看到MainPage的ActualHeight变为192像素。
如果我将MinHeight或Height手动设置为1000像素,则调试器中的ActualHeight将为1000,但是192像素以下的所有内容仍为白色。
当调试器显示其ActualHeight为192时,ActualHeight为0,直到MainPage的构造函数返回后。
构造函数仅包含一条语句-InitializeComponent();
我将MainPage的背景色设置为绿色,而低于192的所有内容仍为白色。
MainPage的内容周围有一个边框。边框看起来很正常,除了底部已被截断之外,因此在192像素以下的所有内容均为白色。
我删除了MainPage的大部分内容,并修改了代码,以便仅调用Application_Startup(仅包含this.RootVisual = new MainPage();)和MainPage的构造函数(仅包含InitializeComponent();)。我还在调试器中(使用断点和单步执行)验证了没有执行任何其他操作。该问题仍然完全像以前一样发生。
谁能建议修复或进一步的诊断?提前致谢。
默认文件
<%@ Page Language=\"C#\" AutoEventWireup=\"true\" CodeBehind=\"Default.aspx.cs\" Inherits=\"iVG.Web.Default\" %>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head id=\"Head1\" runat=\"server\">
<title>iVoterGuide.com</title>
<style type=\"text/css\">
html, body {
height: 100%;
overflow: auto;
}
body {
padding: 0;
margin: 0;
}
#silverlightControlHost {
height: 100%;
text-align:center;
}
</style>
<script type=\"text/javascript\" src=\"Silverlight.js\"></script>
<script type=\"text/javascript\">
function onSilverlightError(sender, args) {
var appSource = \"\";
if (sender != null && sender != 0) {
appSource = sender.getHost().Source;
}
var errorType = args.ErrorType;
var iErrorCode = args.ErrorCode;
if (errorType == \"ImageError\" || errorType == \"MediaError\") {
return;
}
var errMsg = \"Unhandled Error in Silverlight Application \" + appSource + \"\\n\";
errMsg += \"Code: \" + iErrorCode + \" \\n\";
errMsg += \"Category: \" + errorType + \" \\n\";
errMsg += \"Message: \" + args.ErrorMessage + \" \\n\";
if (errorType == \"ParserError\") {
errMsg += \"File: \" + args.xamlFile + \" \\n\";
errMsg += \"Line: \" + args.lineNumber + \" \\n\";
errMsg += \"Position: \" + args.charPosition + \" \\n\";
}
else if (errorType == \"RuntimeError\") {
if (args.lineNumber != 0) {
errMsg += \"Line: \" + args.lineNumber + \" \\n\";
errMsg += \"Position: \" + args.charPosition + \" \\n\";
}
errMsg += \"MethodName: \" + args.methodName + \" \\n\";
}
throw new Error(errMsg);
}
function CloseMainWindow(x) {
window.close();
}
</script>
</head>
<body onload=\"document.getElementById(\'SilverlightControl\').focus();\">
<form id=\"form1\" runat=\"server\"> <%--style=\"height:100%\"--%>
<div id=\"silverlightControlHost\">
<object id=\"SilverlightControl\" data=\"data:application/x-silverlight-2,\" type=\"application/x-silverlight-2\" width=\"100%\" height=\"100%\">
<param name=\"source\" value=\"ClientBin/iVG.xap\"/>
<param name=\"enableHtmlAccess\" value=\"true\" />
<param name=\"onError\" value=\"onSilverlightError\" />
<param name=\"background\" value=\"white\" />
<param name=\"minRuntimeVersion\" value=\"4.0.50401.0\" />
<param name=\"autoUpgrade\" value=\"true\" />
<a href=\"http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0\" style=\"text-decoration:none\">
<img src=\"http://go.microsoft.com/fwlink/?LinkId=161376\" alt=\"Get Microsoft Silverlight\" style=\"border-style:none\"/>
</a>
</object><iframe id=\"_sl_historyFrame\" style=\"visibility:hidden;height:0px;width:0px;border:0px\"></iframe>
</div>
</form>
</body>
</html>
主网页
<Grid x:Name=\"LayoutRoot\" Style=\"{StaticResource GridRoot}\" Background=\"Green\" Loaded=\"LayoutRoot_Loaded\">
<Grid.RowDefinitions>
<RowDefinition Height=\"Auto\"/>
<RowDefinition Height=\"Auto\"/>
<RowDefinition Height=\"*\"/>
</Grid.RowDefinitions>
<Grid Style=\"{StaticResource GridMenu}\" Grid.Row=\"0\">
<Grid.ColumnDefinitions>
<ColumnDefinition Width=\"Auto\"/>
<ColumnDefinition Width=\"*\"/>
</Grid.ColumnDefinitions>
<Sticky:Tab x:Name=\"TabMenu\" DisplayMemberPath=\"Text\" Style=\"{StaticResource MainTabMenu}\" Grid.Column=\"1\" SelectionChanged=\"TabMenu_SelectionChanged\" Margin=\"0\"/>
</Grid>
<Grid Grid.Row=\"1\">
<StackPanel Orientation=\"Horizontal\" HorizontalAlignment=\"Right\" VerticalAlignment=\"Top\">
<TextBlock FontSize=\"{StaticResource FontSizeSmall}\" VerticalAlignment=\"Center\" Foreground=\"Black\" x:Name=\"BlockSignedIn\"/>
</StackPanel>
<Border x:Name=\"BorderContent\" Style=\"{StaticResource BorderContent}\">
<Grid HorizontalAlignment=\"Stretch\">
<TextBlock Margin=\"0,-6,-2,0\" HorizontalAlignment=\"Right\" VerticalAlignment=\"Top\" FontSize=\"{StaticResource FontSizeSmall}\" Foreground=\"Black\" x:Name=\"BlockTimestamp\"/>
<StackPanel>
<Border Style=\"{StaticResource BorderPageHeader}\">
<TextBlock x:Name=\"BlockHeader\" Style=\"{StaticResource BlockPageHeader}\" Text=\"\"/>
</Border>
<navigation:Frame x:Name=\"ContentFrame\" Style=\"{StaticResource ContentFrame}\" MinHeight=\"300\" Navigating=\"ContentFrame_Navigating\"
Navigated=\"ContentFrame_Navigated\" NavigationFailed=\"ContentFrame_NavigationFailed\">
<navigation:Frame.UriMapper>
<sdk:UriMapper>
<sdk:UriMapping Uri=\"/{pageName}\" MappedUri=\"/Views/{pageName}.xaml\"/>
</sdk:UriMapper>
</navigation:Frame.UriMapper>
</navigation:Frame>
<Grid Height=\"5\"/>
<Border Style=\"{StaticResource BorderPageFooter}\">
<TextBlock x:Name=\"BlockVersion\"/>
</Border>
</StackPanel>
</Grid>
</Border>
<Grid Visibility=\"Collapsed\" VerticalAlignment=\"Top\" Background=\"Red\" x:Name=\"GridDebug\">
<TextBlock Text=\"DEBUG\" FontWeight=\"Bold\" Foreground=\"White\" Margin=\"2\"/>
</Grid>
</Grid>
</Grid>
没有找到相关结果
已邀请:
1 个回复
祁澈盘哼颗
如果省略了“高度”,或者如果它是“自动”,它仍然不起作用。如果\“ height \”过大,也会失败(以其他方式)-例如5000。