在DataTemplate DataType中使用命名空间

时间:2012-08-28 12:18:40

标签: wpf xaml data-binding namespaces datatemplate

我正在尝试使用ListBox和ItemsSource属性显示来自YouTube的视频列表。

我现在所做的工作(下图),但现在我需要格式化数据。

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

因为我正在使用DataTemplate,但问题是该类型是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>

上面的代码导致我收到错误“Type'src:找不到Google.YouTube.Video”。

我要问的是如何在DataTemplate中使用命名空间?

1 个答案:

答案 0 :(得分:8)

包含您的类型的命名空间需要已经映射到xmlns属性,即

xmlns:src="clr-namespace:YouTube_Notifier.Google.YouTube" 
{x:Type src:Video}

另请参阅namespace mapping referencereference for x:Type ...