3 votes

Utilisation de l'espace de noms dans le DataTemplate DataType

J'essaie d'afficher une liste de vidéos de YouTube en utilisant une ListBox et la propriété ItemsSource.

Ce que j'ai actuellement fonctionne (ci-dessous), mais je dois maintenant formater mes données.

<ListBox Name="lbVideos" ItemsSource="{Binding Source={StaticResource listOfVideos}}"/>

Pour cela, j'utilise un DataTemplate mais le problème est que le type est Google.YouTube.Video.

<Application x:Class="YouTube_Notifier.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Startup="AppStartup"
    xmlns:src="clr-namespace:YouTube_Notifier" 
    xmlns:System="clr-namespace:System;assembly=mscorlib">
    <Application.Resources>
        <DataTemplate DataType="{x:Type src:Google:YouTube:Video}">
        </DataTemplate>
    </Application.Resources>
</Application>

Le code ci-dessus me permet d'obtenir l'erreur "Type 'src:Google.YouTube.Video' was not found." (Le type 'src:Google.YouTube.Video' n'a pas été trouvé).

Ce que je demande, c'est comment utiliser les espaces de noms dans un DataTemplate ?

8voto

H.B. Points 76352

L'espace de noms contenant votre type doit déjà être mappé dans votre xmlns c'est-à-dire

xmlns:src="clr-namespace:YouTube_Notifier.Google.YouTube" 

{x:Type src:Video}

Voir aussi le référence de la cartographie de l'espace de noms et le référence pour x:Type ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X