Dostęp do kontroli XAML w DataTemplate z CodeBehind?

Mam formant, który nie jest w stanie uzyskać dostępu do kodu źródłowego i wierzę, że jest tak, ponieważ jest zdefiniowany w DataTempalte.

Ogólna kontrola to karuzela pokazu slajdów. Każdy slajd może być obrazem lub MediaElementem (wideo), którego zawartość jest zdefiniowana w powiązaniu ItemSource. Karuzela jest na czasomierzu, aby przełączyć się z jednego slajdu na następny. Za każdym razem, gdy zmiany slajdu, uruchamiam zdarzenie w tym celu.

Kiedy trafię na slajd z filmem, chciałbym zatrzymać timer slajdów (zrobić to) i uruchomić wideo, w którym natrafiłem na problem. Nie mogę uzyskać dostępu doMediaPlayer elementName z mojego systemu kodowego. Moje założenie w tym momencie jest takie, że jest to DataTemplate.

Czy to założenie jest poprawne? Jeśli tak, w jaki sposób mogę uzyskać dostęp do tego elementu sterującego z poziomu kodu lub, co ważniejsze, czy może zacząć grać, gdy pojawi się slajd?

<ctrl:AutoScrollCarousel ...>
    <ctrl:AutoScrollCarousel.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ctrl:AutoScrollCarousel.ItemsPanel>
    <ctrl:AutoScrollCarousel.ItemTemplate>
        <DataTemplate>
            <Border x:Name="Border" VerticalAlignment="Center"
                    Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type UserControl},Mode=FindAncestor}}">
                <Grid Background="White">
                    ...
                    <Image Source="{Binding ContentImage}" Grid.Row="1" Grid.Column="1" Stretch="UniformToFill"
                            HorizontalAlignment="Center"
                            Visibility="{Binding ContentImage, Converter={StaticResource VisibilityConverter}}" />

                    <MediaElement Name="MediaPlayer" Source="{Binding ContentVideo}" Grid.Row="1" Grid.Column="1" Stretch="UniformToFill" LoadedBehavior="Play"
                                    Visibility="{Binding ContentVideo, Converter={StaticResource VisibilityConverter}}" MediaEnded="MediaPlayer_MediaEnded" />

                    <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Title}" Foreground="Black"
                                FontFamily="Segoe UI" FontWeight="Light" HorizontalAlignment="Left" FontSize="75" Margin="0" VerticalAlignment="Center" />

                    <TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding ContentHeadline}" Foreground="Black"
                                FontFamily="Segoe UI" FontWeight="Light" HorizontalAlignment="Left" FontSize="50" VerticalAlignment="Center"
                                TextWrapping="Wrap">
                    </TextBlock>
                </Grid>
            </Border>
        </DataTemplate>
    </ctrl:AutoScrollCarousel.ItemTemplate>
</ctrl:AutoScrollCarousel>

questionAnswers(2)

yourAnswerToTheQuestion