Как изменить фон экрана загрузки Silverlight? - PullRequest
2 голосов
/ 01 октября 2010

Я пытаюсь избежать отображения экрана загрузки Silverlight по умолчанию перед моим апплетом и пытался показать пустой цветной фон, такой же, как у моего апплета. Цель состоит в том, чтобы избежать сотрясения белого и сделать его похожим на один рисунок приложения.

Я обнаружил SplashScreenSource , но я не уверен, как подключить это, чтобы просто показать один цветной фон вместо экрана загрузки. Есть предложения?

1 Ответ

5 голосов
/ 01 октября 2010

Добавьте новый XAML-файл на веб-сайт ASP.NET, на котором будет отображаться Silverlight.
Замените содержимое XAML следующим:

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel VerticalAlignment="Center">
<Grid>
<Rectangle x:Name="progressBarBackground" Fill="White" Stroke="Black"
StrokeThickness="1" Height="30" Width="200"></Rectangle>
<Rectangle x:Name="progressBar" Fill="Yellow" Height="28" Width="0">
</Rectangle>
</Grid>
<TextBlock x:Name="progressText" HorizontalAlignment="Center"
Text="0% downloaded ..."></TextBlock>
</StackPanel>
</Grid>   

Далее необходимо добавить функцию JavaScript в свойСтраница ввода HTML или ASP.NET.

<script type="text/javascript">
function onSourceDownloadProgressChanged(sender, eventArgs)
{
sender.findName("progressText").Text =
Math.round((eventArgs.progress * 100)) + "% downloaded ...";
sender.findName("progressBar").Width =
eventArgs.progress * sender.findName("progressBarBackground").Width;
}
</script>   

Чтобы использовать этот экран-заставку, вам нужно добавить параметр splashscreensource для идентификации вашего экрана-заставки XAML и параметр onsourcedownloadprogresschanged, чтобы подключить ваш обработчик событий JavaScript.Если вы хотите реагировать после завершения загрузки, вы можете подключить другой обработчик событий JavaScript с помощью параметра onsourcedownloadcomplete:

<object data="data:application/x-silverlight," type="application/x-silverlight-2"
width="100%" height="100%">
<param name="source" value="ClientBin/SplashScreen.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="splashscreensource" value="SplashScreen.xaml" />
<param name="onsourcedownloadprogresschanged"
value="onSourceDownloadProgressChanged" />
...
</object>   

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...