1

私は C#/XAML コーディングが初めてで、次の質問があります。

この ListView があり、生成された項目に追加のテンプレートを追加しました

 <ListView x:Name="lvItems" HorizontalAlignment="Left" Height="251" Margin="10,42,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" Width="1346" SelectionChanged="lvItems_SelectionChanged" Foreground="{x:Null}" ItemTemplate="{StaticResource Standard500x130ItemTemplate}">

テンプレートを編集すると、次のコードが表示されます

<!-- Grid-appropriate 500 by 130 pixel item template as seen in the GroupDetailPage -->
<DataTemplate x:Key="Standard500x130ItemTemplate">
  <Grid Height="110"
        Width="480"
        Margin="10">
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="Auto" />
      <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}"
            Width="110"
            Height="110">
      <Image Source="{Binding Image}"
             Stretch="UniformToFill"
             AutomationProperties.Name="{Binding Title}" />
    </Border>
    <StackPanel Grid.Column="1"
                VerticalAlignment="Top"
                Margin="10,0,0,0">
      <TextBlock Text="{Binding Title}"
                 Style="{StaticResource TitleTextStyle}"
                 TextWrapping="NoWrap" />
      <TextBlock Text="{Binding Subtitle}"
                 Style="{StaticResource CaptionTextStyle}"
                 TextWrapping="NoWrap" />
      <TextBlock Text="{Binding Description}"
                 Style="{StaticResource BodyTextStyle}"
                 MaxHeight="60" />
    </StackPanel>
  </Grid>
</DataTemplate>

ここで、Texblocks のタイトル、サブタイトル、説明にアクセスして、XML ファイルから解析したデータを追加したいと考えています。各 TextBlock の Binding にアクセスする必要があると思いますが、その方法がわかりません。手伝って頂けますか?

よろしくお願いいたします。

4

1 に答える 1

2

ItemsSourceのプロパティを設定する必要がありListViewます。作成したテンプレートに基づいて、項目ごとにフィールドが設定されます。

lvItems.ItemsSource = MyObjectsCollection;

MyObjectCollectionここでは、オブジェクトのコレクションであると想定しています。テンプレートから判断すると、データ クラスは次のようになります。

public class TheObject
{
    public string Title { get; set; }
    public string Subtitle { get; set; }
    public string Description { get; set; }
    public string Image { get; set; }
}

したがって、オブジェクトMyObjectsCollectionの配列 (または IEnumerable、またはリスト) である必要がありTheObjectます。

于 2012-12-01T09:28:40.080 に答える