Если у вас довольно сложный HTML-макет и вы не можете полагаться на фиксированное позиционирование, вы можете изменить размер #silverlightControlHost div, используя следующее:
private bool _hasResized;
protected override Size ArrangeOverride(Size finalSize)
{
if (!_hasResized)
{
HtmlPage.Document.GetElementById("silverlightControlHost").SetStyleAttribute("height", finalSize.Height.ToString());
_hasResized = true;
}
return base.ArrangeOverride(finalSize);
}
Вы можете поместить это внутрь MainPage.cs
или, если вы вложили UserControls
, тогда элемент управления, который требует наибольшей высоты. Я также использую следующий XAML и HTML Visual Studio по умолчанию обеспечивает
<UserControl ...
VerticalAlignment="Stretch"
Height="Auto"
Width="Auto">
Я не тестировал его без этих настроек, насколько я знаю, по умолчанию Auto.