Silverlight页面让浏览器出现滚动条问题?

imkfdcw 2010-04-28 08:05:39
请大家帮小弟一个忙,刚学silverlight遇到这样的一个问题。。
我在index.xaml里面写的代码
private double _minimalHeight = 1350;
void NewLayoutRoot_SizeChanged(object sender, SizeChangedEventArgs e)
{

Size size = this.NewContentRoot.DesiredSize;
if (size.Height < _minimalHeight)
{
size.Height = _minimalHeight;
}
String heightInpixel = String.Format("{0}px", size.Height);
String containerElementId = "silverlightControlHost";
HtmlElement element = HtmlPage.Document.GetElementById(containerElementId);
element.SetStyleAttribute("height", heightInpixel);
string s = element.GetStyleAttribute("height");

}

这是我在网上看的,的确可以实现上面问题可以达到目的,但是现在问题又来了,如果我在另一个xaml里面再写这个代码 把private double _minimalHeight = 850; 把这个高度改成850,是没有用的。它的高度依然是以第一个为主,如果我有很多xaml页面 并且高度都不一样,那么我现在该怎么办啊。。不知道怎么弄,急啊,请大家帮个忙,小弟不胜感激。项目进行中啊。。。
...全文
871 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanshaoer 2010-10-31
  • 打赏
  • 举报
回复
给HTml里的滚动条禁掉不行么
fanshaoer 2010-10-31
  • 打赏
  • 举报
回复
给HTML里的滚动条禁掉不行么。。。
kubilang 2010-10-31
  • 打赏
  • 举报
回复
我也在找呢,楼主,应该你搞定了。可以的话给小弟赐教下!
kubilang 2010-10-31
  • 打赏
  • 举报
回复
我也在找呢,楼主,应该你搞定了。可以的话给小弟赐教下!
kubilang 2010-10-31
  • 打赏
  • 举报
回复
我也在找呢,楼主,应该你搞定了。可以的话给小弟赐教下!
scdn8311 2010-05-06
  • 打赏
  • 举报
回复
我也学习了
imkfdcw 2010-05-06
  • 打赏
  • 举报
回复
呵 你说的不错呀,我当然知道这种方法能行,可是如果是嵌在html里面的话,浏览中又多一个滚动条是不是很好看呢。 我搞页面设计的啊。。。
[Quote=引用 12 楼 qingyunke 的回复:]
我昏迷,有什么好急的

在每个页面用scrollviewer嘛,auto就行了,完全可以搞定
[/Quote]
imkfdcw 2010-05-06
  • 打赏
  • 举报
回复
这样是不行的,因为我有很多页面啊,而且高度又不一样,我想要的效果就是像我们平时在html里面一样,如果内容增多的话,滚动条就会随着高的度变化的而变化。
[Quote=引用 13 楼 jv9 的回复:]
在object对象中直接设置宽度和高度试过了么?

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="你的宽度" height="你的高度">
[/Quote]
jv9 2010-05-05
  • 打赏
  • 举报
回复
在object对象中直接设置宽度和高度试过了么?

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="你的宽度" height="你的高度">
Kahless312 2010-05-05
  • 打赏
  • 举报
回复
我昏迷,有什么好急的

在每个页面用scrollviewer嘛,auto就行了,完全可以搞定
imkfdcw 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jv9 的回复:]
引用 8 楼 imkfdcw 的回复:
引用 7 楼 goldfire_001 的回复:
你用的是FireFox么?

不是的,我用的是IE浏览器


测试大家说的方法了么?现在问题解决了么?
[/Quote]他们说的那些我都试过,没有用。急死了啊
xjj571249 2010-05-04
  • 打赏
  • 举报
回复
scrollviewer试试看
jv9 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 imkfdcw 的回复:]
引用 7 楼 goldfire_001 的回复:
你用的是FireFox么?

不是的,我用的是IE浏览器
[/Quote]

测试大家说的方法了么?现在问题解决了么?
imkfdcw 2010-05-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 goldfire_001 的回复:]
你用的是FireFox么?
[/Quote]
不是的,我用的是IE浏览器
Goldfire_001 2010-04-30
  • 打赏
  • 举报
回复
你用的是FireFox么?
imkfdcw 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qingyunke 的回复:]
我刚刚结束了一个项目,先前用得也是这段代码,后来弃用了。
不过我的是在框架里面用的,navigation application。

首先楼主要明白,这段代码设置的只是开始显示的第一个页面的高度,也就是“***TestPage.html”或者“***TestPage.aspx”里面的"<div id="silverlightControlHost"></div>"中的整个高度,所以下次肯定再……
[/Quote]
你说的我感觉还是不行啊
xingjunli 2010-04-29
  • 打赏
  • 举报
回复
使用GRID布局,页面中SL控件宽高设置100%就可以将布局跟随浏览器变化
Kahless312 2010-04-29
  • 打赏
  • 举报
回复
我刚刚结束了一个项目,先前用得也是这段代码,后来弃用了。
不过我的是在框架里面用的,navigation application。

首先楼主要明白,这段代码设置的只是开始显示的第一个页面的高度,也就是“***TestPage.html”或者“***TestPage.aspx”里面的"<div id="silverlightControlHost"></div>"中的整个高度,所以下次肯定再这样设置肯定不起效果了已经。

提供三种解决方案:
一是使用框架,这样就定死了高度,只需定义在MainPage中,不用每次都改;缺点是这个高度要足够的高。
二是舍弃这种方法,使用Grid布局,每次都适应浏览器;缺点是如果页面高于浏览器,会看不见下面的部分。
三是使用ScrollViewer,auto的属性;缺点是每个页面都写,很讨厌。

还有一种思路(我没实践过,不过个人觉得应该可以实现)是,使用JS获取浏览器可显示的高度,然后通过SL调用JS来动态的设置页面的高度。
fenglm999 2010-04-29
  • 打赏
  • 举报
回复
一是页面加载的时候控制Silverlight的内容的大小,二是在xaml最好确定大小,三是NewLayoutRoot_SizeChanged这个时间你注册在哪里的,是总的LayoutRoot,还是每个XAML页面中的
jv9 2010-04-29
  • 打赏
  • 举报
回复
不是很明白你想实现什么。实现让布局随着浏览器高度改变而改变么?

加载更多回复(1)

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧