Я разрабатываю приложение Silverlight для Window Phone 7.5 (Mango).Я новичок, и это мое первое приложение.Когда я запускаю его в эмуляторе, я вижу, что счетчик FillRate имеет значение 4,5 или 5 и красный.Так что это проблема.Потратив некоторое время, я обнаружил, что пользовательский контроль на моем Main.xaml и других страницах имеет или является проблемой.
BackgroundUC.xaml : Это сделано дизайнером в Blend.У этого есть изображение неба, которое перемещается справа налево.Кроме того, я не знаю, что означает код.Этот элемент управления предназначен для использования на всех страницах в качестве движущегося фона.
<UserControl
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:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:eim="clr-namespace:Microsoft.Expression.Interactivity.Media;assembly=Microsoft.Expression.Interactions"
mc:Ignorable="d"
x:Class="MyApp.BackgroundUC"
d:DesignWidth="2872" d:DesignHeight="520">
<UserControl.Resources>
<Storyboard x:Name="sbSkyBg">
<DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="(UIElement.Opacity)" Storyboard.TargetName="SkyBg" d:IsOptimized="True"/>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.TranslateX)" Storyboard.TargetName="SkyBg">
<EasingDoubleKeyFrame KeyTime="0" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:1:0" Value="-930"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="Transparent">
<Image x:Name="SkyBg" Source="SkyBg.png" Stretch="Fill" d:LayoutOverrides="VerticalAlignment, GridBox" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<CompositeTransform/>
</Image.RenderTransform>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<eim:ControlStoryboardAction Storyboard="{StaticResource sbSkyBg}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
</Grid>
</UserControl>
Что я нашел: Если я не использую этот UserControl, но устанавливаю Backgrond сетки LayOutRoot сетки MainPage.xaml.на моем изображении неба (статическое) FillRate падает до 1,5.Но с этим мне придется установить фон сетки на каждой странице в отдельности.И я не уверен, как анимировать это, чтобы получить эффект движущегося неба.
Вопросы: 1: Что не так в UC и как я могу настроить свой UC так, чтобы FillRate былв пределах оптимального диапазона, т. е. <2,5? </p>
2: Если сам UC является проблемой, каков наилучший способ в моем сценарии, чтобы я мог иметь общий фон с некоторой анимацией?
3: ЕслиЯ должен сделать на уровне отдельных страниц, как я упоминал выше, как я могу анимировать набор фона следующим образом:
<Grid.Background>
<ImageBrush ImageSource="/MyApp;component/SkyBg.png" />
</Grid.Background>
Я все еще учусь, и любая помощь действительно ценится.