我正在我的Assets文件夹中创建一个包含大量本地内容的WP8应用程序。所以我使用的是存储在JSON文件夹中的JSON文件。
我已经能够非常轻松地将JSON解析为C#,现在我正在尝试在列表中显示数据。我没有显示标题的问题但我无法显示图像,即使我有文件名。
我的图片存储在"资产/内容/ mediaXXX.jpg";
ListViewModel:
public class ListViewModel
{
public string Title { get; set; }
public string Subtitle { get; set; }
public BitmapImage ListImage { get; set; }
}
XAML
<ListBox Margin="0,1,0,0"
Height="730"
x:Name="MainList">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="120"
Width="480">
<StackPanel Orientation="Horizontal">
<Image HorizontalAlignment="Left"
Source="{Binding ListImage}"
Margin="12"
Stretch="UniformToFill"
Width="130"/>
<Grid>
<TextBlock x:Name="ListItemTitle"
Text="{Binding Title}"/>
<TextBlock x:Name="ListItemSubTitle"
Text="{Binding Subtitle}"/>
</Grid>
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我的C#页面
BitmapImage image = new BitmapImage(new Uri(@"Assets/Content/" + photo.filename + ".jpg", UriKind.Relative);
l.ListImage = image;
有什么想法吗?
答案 0 :(得分:0)
代码应该有效。只有可能出现的问题是ListBox
数据绑定定义不正确。
我没有看到任何.ItemsSource =
或ItemsSource={Binding some_collection}
另一件事是确保photo.filename
返回正确的文件。
设置字符串debug_string =&#34; Assets / Content /&#34; + photo.filename +&#34; .jpg&#34 ;;
确保一切正确。
最后一件事是确保文件实际位于项目内的Assets文件夹及其
中 BuildAction
设置为Content
喜欢这样