错误字典项' DataTemplate'设置x时必须具有Key属性:DataType =" BitmapImage"

时间:2017-01-04 15:42:06

标签: c# xaml uwp uwp-xaml

我尝试实现示例通用Windows平台应用程序以显示网格中的图像数量,当我将图像源框架到项目面板中然后构建解决方案时出现此错误"错误字典项目&# 39;数据模板'必须有一个Key属性" 请任何人建议一些事情或帮助我。

public ObservableCollection<BitmapImage> ImgList = new ObservableCollection<BitmapImage>();

for (int i = 1; i < 15; i++)
{
    var image = new Image
    {
        Source = new BitmapImage(
                               new Uri(
                                   "https://canaryappstorage.blob.core.windows.net/dummy-container/food"+i+"_tn.jpg"))
    };
    var bitmapImage = new BitmapImage();
    ImgList.Add(image.Source as BitmapImage);
    image.Source = null;
}

<ItemsControl ItemsSource="{Binding ImgList2}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <VirtualizingStackPanel/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.Resources>
        <DataTemplate x:DataType="BitmapImage">
            <StackPanel Orientation="Horizontal">
                <Image Width="200"
                       Height="100"
                       Source="{x:Bind }"
                       Stretch="UniformToFill" />
            </StackPanel>
        </DataTemplate>
    </ItemsControl.Resources>
</ItemsControl>

1 个答案:

答案 0 :(得分:0)

您正在DataTemplate中定义ItemsControl.Resources。要使其作为项目的模板,您必须在ItemsControl.ItemTemplate中声明它。