2017-01-04 1 views
0

Я пытаюсь внедрить образец Универсального приложения Windows Platform для отображения количества изображений в сетке, когда i фреймы источников изображения в элемент -panel, затем создайте решение, получив эту ошибку. «Элемент словаря ошибок» «Шаблон данных» должен иметь атрибут «0». Пожалуйста, предложите что-нибудь или помогите мне.Ошибка словаря Item 'DataTemplate' должен иметь атрибут Key при установке x: DataType = "BitmapImage"

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

Удалите префикс пространства имен «x:» из атрибута DataType вашего DataTemplate. – josh2112

ответ

0

Вы определяете DataTemplate в ItemsControl.Resources. Чтобы он работал как шаблон для ваших товаров, вы должны объявить его в ItemsControl.ItemTemplate.

Смежные вопросы