У меня есть ListBox, который считывает из коллекции наблюдаемых, и ItemTemplate'ed:Государственная анимация на ListBox ItemTemplate
<DataTemplate x:Key="DataTemplate1">
<Grid x:Name="grid" Height="47.333" Width="577" Opacity="0.495">
<Image HorizontalAlignment="Left" Margin="10.668,8,0,8" Width="34" Source="{Binding ImageLocation}"/>
<TextBlock Margin="56,8,172.334,8" TextWrapping="Wrap" Text="{Binding ApplicationName}" FontSize="21.333"/>
<Grid x:Name="grid1" HorizontalAlignment="Right" Margin="0,10.003,-0.009,11.33" Width="26" Opacity="0" RenderTransformOrigin="0.5,0.5">
<Image HorizontalAlignment="Stretch" Margin="0" Source="image/downloads.png" Stretch="Fill" MouseDown="Image_MouseDown" />
</Grid>
</Grid>
</DataTemplate>
<ListBox x:Name="searchlist" Margin="8" ItemTemplate="{DynamicResource DataTemplate1}" ItemsSource="{Binding SearchResults}" SelectionChanged="searchlist_SelectionChanged" ItemContainerStyle="{DynamicResource ListBoxItemStyle1}" />
В общем, на мой вопрос: «Что это самый простой способ сделать анимацию по конкретным пунктам в этот список Как они выбраны? В основном изображение внутри «сетки1» будет устанавливать его непрозрачность до 1, медленно.
Я бы предпочел использовать состояния, но я не знаю, как просто рассказать blend и xaml на «Когда выбранный элемент изменен, измените непрозрачность изображения на 1 в течение 0,3 секунды». Infact, я делаю это в файле .cs с помощью VisualSt ateManager.
Кроме того, есть еще одна проблема. Когда выбранный индекс изменен, мы перейдем к файлу CS и посмотрим на SelectedItem. SelectedItem возвращает экземпляр объекта, в который он был привязан (объект внутри наблюдаемой коллекции), а НЕ экземпляр DataTemplate/ListItem и т. Д. Итак, как я могу вытащить правильное изображение из этого списка?
Государственная анимация с VisualStateManager Я могу обрабатывать отлично, если это просто нормальные вещи, но когда дело доходит до созданных элементов списка, я теряюсь.
Благодаря
Silverlight не поддерживает 'DynamicResource', поэтому почему тег Silverlight? – AnthonyWJones