Как добавить изображение при загрузке Silverlight? - PullRequest
2 голосов
/ 05 января 2012

Может кто-нибудь указать мне на ресурс о том, как "добавить" изображение при загрузке в silverlight?По сути, у меня есть список элементов, которые возвращаются из веб-службы, и иногда изображения загружаются немного дольше, поэтому я хотел добавить их при загрузке.Я прочитал, что мне может понадобиться раскадровка для этого эффекта.Это лучший маршрут или есть альтернативы?

Ответы [ 2 ]

2 голосов
/ 06 января 2012

Вот вспомогательная функция для выполнения задачи.

private void FadeIn(UIElement uilelement)
{
    uilelement.Opacity = 0.0;
    uilelement.Visibility = Visibility = Visibility.Visible;
    var timeline = new DoubleAnimation() { To = 1.0, Duration =TimeSpan.FromSeconds(3.0) };
    Storyboard.SetTarget(timeline, uilelement);
    Storyboard.SetTargetProperty(timeline, new PropertyPath(UIElement.OpacityProperty));
    var sb = new Storyboard();
    sb.Children.Add(timeline);
    sb.Begin();
}

function void image1_Opened(object sender, EventArgs e)
{
    FadeIn(sender as Image);
}

Вы должны установить Свернутое Изображение или установить его первоначальную Непрозрачность на 0.

<Image Source="{Binding ImagePath}" 
       Name="image1"  
       Visibility="Collapsed" 
        ImageOpened="image1_ImageOpened" />
2 голосов
/ 05 января 2012

Я не знаю никаких альтернатив.StoryBoard - лучший маршрут.Вы можете просто анимировать непрозрачность изображения от 0 до 100.

Поместите раскадровку в ресурсы для UserControl () или в App.xaml.

Затем в вашем событии OnOpened (как вы упомянули в комментарии):

protected void OnOpened(object sender, EventArgs e) 
{ 
  // params might be incorrect
  this.fadeInStoryBoard.Stop();
  // your image controls will need x:names set
  this.fadeInAnimation.SetValue(Storyboard.TargetNameProperty, ((Image)sender).Name);
  this.fadeInStoryBoard.Start();
}

Пример раскадровки: http://www.codeproject.com/KB/silverlight/AgDynAnimations.aspx и запуск раскадровки: http://blogs.msdn.com/b/silverlight_sdk/archive/2008/03/26/target-multiple-objects-properties-with-one-animation-silverlight.aspx

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