我有一个清单。当在数据库上运行查询(并将匹配结果放入此列表)时,它将使用CustomObjects填充
然而,我想要显示每个例如在列表视图中命名这些结果自定义对象的属性,这是导致我麻烦的部分。
我不确定如何设置列表视图的模板以显示列表中的数据。我能得到的最远的如下:如果查询结果有3个匹配,我可以在列表视图中显示3个文本框,说“HELLO”。这是通过在列表视图的模板部分放置一个说“HELLO”的文本框来实现的(否则将在VS2012的网格模板中进行布局)。解决方案是否与绑定有关?
非常感谢任何帮助。 (使用metro应用程序,Windows 8,.NET 4.5)
我目前看起来像这样
List<CustomObject> CustObjList =... //gets matches from database
listView.ItemsSource = CustObjList;
然后在XAML就是这个
<ListView.ItemTemplate>
<DataTemplate>
<UserControl Loaded="StartLayoutUpdates" Unloaded="StopLayoutUpdates">
<ScrollViewer x:Name="scrollViewer" Style="{StaticResource HorizontalScrollViewerStyle}" Grid.Row="1">
<TextBlock x:Name="listViewText" Text="HELLO" <--(???) Margin="30,0,0,0" Foreground="Black"/>
答案 0 :(得分:0)
听起来你正在将数据导入ListView,只是没有正确绑定属性。在文本框所在的模板中,将TextBox上的Text属性更改为Text = {Binding YourPropertyName“}。这是一篇很棒的文章,可帮助您了解基础... http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh780650(v=win.10).aspx
答案 1 :(得分:0)
是的,它是您需要的绑定。
查看此MSDN article,了解Windows 8 XAML应用程序中的各种列表。
特别要看ItemTemplate
。请注意TextBlock
如何绑定绑定集合中每个对象的属性:<TextBlock Text="{Binding Description}"
<ListView x:Name="itemListView"
Margin="120,0,0,60"
ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
SelectionChanged="ItemListView_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Height="110" Margin="6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
<Image Source="{Binding Image}" Stretch="UniformToFill"/>
</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>
</ListView.ItemTemplate>
</ListView>