当我将此代码放入我的XAML文件时:
<TextBlock Text="{Binding Name}" FontSize="16" Margin="15,0,0,0" />
它显示了Name
值,但是当我尝试通过ListView
显示时:
<ListView x:Name="ItemListView"
ItemsSource="{Binding Items}"
Margin="60,0,0,10">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Name}"
FontSize="24" Margin="5,0,0,0" TextWrapping="Wrap" />
<TextBlock Text="{Binding Artist}"
FontSize="16" Margin="15,0,0,0"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
它没有出现:(可能有什么不对?
答案 0 :(得分:0)
如果页面继承自LayoutAwarePage,就像从模板创建时一样,DataContext将设置为名为DefaultViewModel的属性。代码隐藏中暴露的属性不会被绑定。
答案 1 :(得分:0)
您正在查看示例中的两个不同对象。在文本框中,您正在查看datacontext中对象的名称,在列表视图中,您正在查看绑定到的每个项目的Items [x] .Name。如果需要从datacontext而不是Items集合引用Name,则需要将源绑定到Element而不是继承它。