我尝试实现示例通用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>
答案 0 :(得分:0)
您正在DataTemplate
中定义ItemsControl.Resources
。要使其作为项目的模板,您必须在ItemsControl.ItemTemplate
中声明它。