Хорошо, это будет звучать глупо, но я не могу заставить ScrollViewer работать должным образом.
Что мне нужно сделать, это
Для страницы Silverlight используйте 100% ширину / высоту страницы HTML
Имейте элемент управления Height = 160px в верхней части страницы Sliverlight, затем оставьте (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, даже если это означает переполнение под экраном, но без вертикальной полосы прокрутки.
Единственный способ заставить это работать - это установить Height = 800 для ScrollViewer.