我需要做的是
>让Silverlight页面使用HTML页面的100%宽度/高度
>在Sliverlight页面的顶部有一个高度= 160px的控件,然后剩下的(100% – 160px)是一个动态改变内容的ScrollVIEwer.
所以在HTML页面中我有:
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" wIDth="100%" height="100%">
然后在XAML中:
<GrID x:name="LayoutRoot" Height="auto"> <StackPanel OrIEntation="Vertical" Height="auto"> <App:ASilverlightControl x:name="header" Height="160"/> <ScrollVIEwer name="svw" HorizontalScrollbarVisibility="Disabled" VerticalScrollbarVisibility="Visible" Height="auto" > <StackPanel OrIEntation="Vertical" x:name="DynamicContentHere"> </StackPanel> </ScrollVIEwer> </StackPanel> </GrID>
现在,无论我尝试什么,ScrollVIEwer总是会扩展/收缩以包含StackPanel中的所有元素,即使这意味着在屏幕下溢出但没有垂直滚动条.
我能让它工作的唯一方法是将高度= 800设置为ScrollVIEwer.
解决方法 如果将ScrollVIEwer放在StackPanel中,它将无法工作. StackPanel将始终允许ScrollVIEwer内容所需的所有空间.您应该使用包含两行的GrID:
<GrID x:name="LayoutRoot" Height="auto"> <GrID.RowDeFinitions> <RowDeFinition Height="160"/> <RowDeFinition Height="*"/> </GrID.RowDeFinitions> <App:ASilverlightControl x:name="header" GrID.Row="0"/> <ScrollVIEwer name="svw" GrID.Row="1" HorizontalScrollbarVisibility="Disabled" VerticalScrollbarVisibility="Visible"> <StackPanel OrIEntation="Vertical" x:name="DynamicContentHere"> ... </StackPanel> </ScrollVIEwer></GrID>
第二个RowDeFinition中的*将自动使ScrollVIEwer尽可能地填充,但仍然将其保留在可视区域内,从而使ScrollVIEwer工作.
总结以上是内存溢出为你收集整理的silverlight – ScrollViewer高度在内容溢出页面时自动滚动全部内容,希望文章能够帮你解决silverlight – ScrollViewer高度在内容溢出页面时自动滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)