2016-04-23 28 views
1

GridViewを使用してデータを表示するListViewがあります。フィールドの1つに画像パスを含むリストが含まれています。したがって、私はGridViewColumnを定義し、DataTemplateを作成します。 Dis DataTemplateには、新しいDataContextとしてImagesリストの別のListViewが含まれています。内側のStackPanelに何も書き込んでいないときは、文字列のリスト(AppName.ClassNameの形式)が左から右の順序で表示されていることがわかります。 しかし、私は何か他のもののように文字列を表示しようとするときはいつでも、例えばWPF ListView-> GridView-> StackPanel

<Image Source="{Binding Name}" Height="32"/> 

私はSystem.Windows.Markup.XamlParseExceptionを取得します。データバインディングを使用しても例外が発生します。例:

<Image Source="Images/Camera_32xLG.png" Height="32"/> 

どんなヒント、私は間違って何をするかもしれない?

 <GridViewColumn Header="Images"> 
      <GridViewColumn.CellTemplate> 
      <DataTemplate> 

       <ListView ItemsSource="{Binding Images}" BorderThickness="0"> 
       <ListView.ItemsPanel> 
        <ItemsPanelTemplate> 
        <StackPanel Orientation="Horizontal"> 

--> here is where I don't know what to do next  

        </StackPanel> 
        </ItemsPanelTemplate> 
       </ListView.ItemsPanel> 
       </ListView> 

      </DataTemplate> 
      </GridViewColumn.CellTemplate> 
     </GridViewColumn> 

答えて

2

StackPanelItemsPanelTemplateの一部であるため、あなたはそれが性質だ定義し、明示的に子を追加しないでください。各アイテムの外観を指定する方法は、ListView.ItemTemplateプロパティを使用します。

<ListView ItemsSource="{Binding Images}" BorderThickness="0"> 
    <ListView.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Horizontal" /> 
     </ItemsPanelTemplate> 
    </ListView.ItemsPanel> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Image Source="{Binding Name}" Height="32" /> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 
関連する問題