我正在尝试在wp7中展示一个列表视图,由于某种原因它似乎无法正常工作
我的xaml
<!--ContentPanel - place additional content here-->
<StackPanel x:Name="ContentPanel2" Grid.Row="1" Margin="12,0,12,0">
<ListBox x:Name="list">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="5">
<Image Source="{Binding ImageUri}" Stretch="None"/>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Grid>
我的c#代码
public class list
{
public string title { get; set; }
public string imageSource { get; set; }
}
和
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
List<list> dataSources = new List<list>();
dataSources.Add(new list() { title = "Shacharit", imageSource = "Images/shacharit.png" });
dataSources.Add(new list() { title = "Mincha", imageSource = "Images/mincha.png" });
dataSources.Add(new list() { title = "Arvit", imageSource = "Images/arvit.png" });
dataSources.Add(new list() { title = "Birkat HaMazon", imageSource = "Images/shacharit.png" });
list.ItemsSource = dataSources;
}
提前致谢
答案 0 :(得分:2)
尝试以下操作,更改图像和文本块的绑定以绑定到您目前声明的字符串,您尝试绑定到ImageURI和Text,它们在您的任何代码中都不存在。
<!--ContentPanel - place additional content here-->
<StackPanel x:Name="ContentPanel2" Grid.Row="1" Margin="12,0,12,0">
<ListBox x:Name="list" Da>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="5">
<Image Source="{Binding imageSource }" Stretch="None"/>
<TextBlock Text="{Binding title}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Grid>
答案 1 :(得分:1)
澄清Jon D的回答,你正在你的代码中创建具有“imagePath”和“title”属性的数据对象
new list() { title = "Shacharit", imageSource = "Images/shacharit.png" };
但试图找到名为“ImageUri”和“Text”的属性。
在VS的输出窗口中,您应该会看到这些绑定错误。
以下两行(你在XAML中进行绑定)应该为你解决问题......
<Image Source="{Binding imageSource }" Stretch="None"/>
<TextBlock Text="{Binding title}"/>