Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 16.03.2016, 13:30   #1
Oleg.D
Новичок
Джуниор
 
Регистрация: 16.03.2016
Сообщений: 2
По умолчанию WPF. Как получить доступ к контролам, генерируемым через ItemsSource?

Всем привет.
У меня есть список, с привязкой к данным. В этом списке есть элемент, который требуется анимировать. Допустим гиппотечиская страничка может выглядеть так:
Код:
<Page
x:Class="MyProject.MyPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:MyProject"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
xmlns:media="using:Microsoft.Xaml.Interactions.Media"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.Resources>
   <Storyboard x:Name="Show_Control">
       <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Control"
                                      Storyboard.TargetProperty="Visibility">
           <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
       </ObjectAnimationUsingKeyFrames>
   </Storyboard>
</Page.Resources>
 
<Grid>
   <ListBox ItemsSource="{Binding test}">
       <ListBox.ItemTemplate>
           <DataTemplate>
               <Grid Background="White">
                   <i:Interaction.Behaviors>
                       <core:EventTriggerBehavior EventName="Tapped">
                           <media:ControlStoryboardAction Storyboard="{StaticResource Show_Control}"/>
                       </core:EventTriggerBehavior>
                   </i:Interaction.Behaviors>
 
                   <TextBlock Text="Hello!"/>
                   <StackPanel x:Name="Control" 
                               Height="30" 
                               Background="#000" 
                               Visibility="Collapsed"/>
               </Grid>
           </DataTemplate>
       </ListBox.ItemTemplate>
   </ListBox>
</Grid>
</Page>
В данном примере по Тапу на элементе списка должен появляться скрытый черный квадратик StackPanel. Однако на практике приложение падает с ошибкой

Цитата:
System.Exception: No installed components were detected.
Cannot resolve TargetName Control.

at Windows.UI.Xaml.Media.Animation.Sto ryboard.Begin()
at Microsoft.Xaml.Interactions.Media.C ontrolStoryboardAction.Execute(Obje ct sender, Object parameter)
at Microsoft.Xaml.Interactivity.Intera ction.ExecuteActions(Object sender, ActionCollection actions, Object parameter)
at Microsoft.Xaml.Interactions.Core.Ev entTriggerBehavior.OnEvent(Object sender, Object eventArgs)
Куда копать?
Oleg.D вне форума Ответить с цитированием
Старый 18.03.2016, 10:09   #2
Oleg.D
Новичок
Джуниор
 
Регистрация: 16.03.2016
Сообщений: 2
По умолчанию

А вот и правильный ответ подвезли.
Oleg.D вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить доступ к файлу через PascalABCNET Neitrat Помощь студентам 22 07.02.2016 17:26
Не могу получить доступ к файлу через PascalABCNET Neitrat Паскаль, Turbo Pascal, PascalABC.NET 0 06.02.2016 18:27
WPF/ Обновление ItemsSource-а ShoGUN WPF, UWP, WinRT, XAML 0 02.06.2014 18:34
Через какую библиотеку можно получить доступ к COM объектам браузера wanes101 Win Api 7 11.05.2013 10:11
Получить доступ к скринсейверу через реестр Vask Общие вопросы Delphi 1 24.09.2008 21:12