Есть страница Silverlight, ее ширина 810 пикселей, высота не указана:
<NavigationControls:Page x:Class="VfmElitaSilverlightClientView.Pages.SquadView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:NavigationControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
xmlns:DataControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
xmlns:InputControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Input"
xmlns:ToolkitControls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"
xmlns:Pages="clr-namespace:VfmElitaSilverlightClientView.Pages"
xmlns:Controls="clr-namespace:VfmElitaSilverlightClientView.Controls"
xmlns:Converter="clr-namespace:SilverlightCommonView.Converter;assembly=SilverlightCommonView"
mc:Ignorable="d" Width="810"
Title="SquadView Page">
<NavigationControls:Page.Resources>
<Converter:BooleanToVisibilityConverter x:Key="resourceBooleanToVisibilityConverter" />
<Converter:BooleanToVisibilityInvertedConverter x:Key="resourceBooleanToVisibilityInvertedConverter" />
</NavigationControls:Page.Resources>
<ToolkitControls:BusyIndicator IsBusy="{Binding IsBusy}" DisplayAfter="0" BusyContent="{Binding BusyContent}">
<StackPanel Background="Transparent" HorizontalAlignment="Stretch">
<StackPanel ... ></StackPanel>
<StackPanel ... ></StackPanel>
<StackPanel ... ></StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Grid Margin="5" Width="500">...</Grid>
<Canvas Height="180" Width="210">...</Canvas>
<DataControls:DataGrid
IsReadOnly="True" HorizontalAlignment="Stretch" Margin="5" MinHeight="60" MaxHeight="460"
HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto"
RowHeight="18" VerticalAlignment="Top"
>
</DataControls:DataGrid>
<Button Content="Save" HorizontalAlignment="Center"
Padding="10" Command="{Binding SaveButtonClickCommand,Mode=OneWay}"/>
</StackPanel>
</ToolkitControls:BusyIndicator>
Страница отображается со следующим html-кодом:
<div id="silverlightControlHost" style="height:<%=Height%>px;margin: auto;">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="/ClientBin/app.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="transparent" />
<param name="windowless" value="true" />
<param name="initParams" value="<%=InitParams %>" />
<param name="minRuntimeVersion" value="3.0.40624.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" 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>
Среди других элементов управления есть сетка внутри страницы, количество строк сетки зависит от данных (от 17 до 25-28), высота строки сетки составляет 22 пикселя.Необходимо отобразить все элементы управления и все строки сетки без прокрутки.
В моем примере значение свойства «Высота» для страницы установлено в «930».Для пользователей, у которых много данных (25-28 строк в сетке данных), большая часть страницы занята данными.Но другие пользователи (18-20 строк) видят большое «пустое» пространство, зарезервированное для элемента управления.
Я попытался уменьшить высоту для DIV, на котором размещено приложение Silverlight - которое отключило элементы управления для больших данных' дело.Попытка установить стиль 'height' в 'auto' приводит к пустой HTML-странице (элемент управления Silverlight вообще не виден).
Не могли бы вы посоветовать, как настроить высоту страницы, чтобы она автоматически растягивалась, чтобы соответствоватьвсе элементы управления?
Я не уверен, что это проблема Silverlight или HTML ...
Спасибо!