2012-12-01 31 views
1

我是C#/ XAML编码的新手,我有以下问题。访问DataTemplate中的TextBlock文本

我有这样的ListView和我已经添加aditional的模板来生成的项目

<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 Title,Subtitle,Description来添加我已经从XML文件中分析的数据。我想我需要访问每个TextBlock的绑定,但我不知道如何做到这一点。你可以帮我吗?

在此先感谢您的帮助

回答

2

您需要设置ListViewItemsSource属性,然后领域将填充每个项目的基础上,您创建的模板。

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对象。

+0

非常感谢你,这是我无法找到的。我正在寻找小时!你能建议一个我可以开始学习这些东西的地方吗?我试过msdn,但我不知道从哪里开始。 非常感谢! – Christos312

+0

@ Christos312没有概率,很高兴我能帮上忙。在资源方面,如果你找不到任何好的教程等,那么我认为MSDN上的文章总是很不错。从这里开始例如:http://msdn.microsoft.com/en-us/library/ms750612.aspx – McGarnagle

+0

你给我的文章是我正在阅读的文章。我不能让它工作阅读那就是为什么我决定在这里发布。无论如何,我会更仔细地研究这篇文章。 干杯! – Christos312

相关问题