Silverlight 4.0 如何在Silverlight for Windows Phone7中绑定列表框数据
需要有关Silverlight for Windows Phone中ListBox数据绑定的帮助。守则如下: 1) 页面加载事件:Silverlight 4.0 如何在Silverlight for Windows Phone7中绑定列表框数据,silverlight-4.0,Silverlight 4.0,需要有关Silverlight for Windows Phone中ListBox数据绑定的帮助。守则如下: 1) 页面加载事件: var ml = new MediaLibrary(); var ChkPics = ml.Pictures; var PicNames = from p in ChkPics where p.Name.Contains("s") select p; foreach (var pic in PicName
var ml = new MediaLibrary();
var ChkPics = ml.Pictures;
var PicNames = from p in ChkPics
where p.Name.Contains("s")
select p;
foreach (var pic in PicNames)
{
PhotoNames.PhotoFileNames.Add(pic.Name);
}
注:图片是图片的集合,图片名称是图片名称的集合
var ml = new MediaLibrary();
var ChkPics = ml.Pictures;
var PicNames = from p in ChkPics
where p.Name.Contains("s")
select p;
2) 静态类
public static class PhotoNames
{
private static List<string> m_Photoname = new List<string>();
public static List<string> PhotoFileNames
{
get
{
return m_Photoname;
}
set
{
m_Photoname = value;
}
}
}
如何将列表框绑定到此静态类,并在列表框内显示TextBlock
中的所有数据
谢谢。看起来像是ml。Pictures提供了您需要的所有信息(姓名和图片)。为什么需要静态类 您可以执行以下操作:
var ml = new MediaLibrary();
listBox.ItemSource = ml.Pictures.Where(picture => picture.Name.Contains("s"));
在您的XAML中:
<UserControl.Resources>
<local:ImageConverter x:Key="ImageConverter"></local:ImageConverter>
...
</UserControl.Resources>
<ListBox x:Name="listBox">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="35"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="{Binding Name}"></TextBlock>
<Image Grid.Column="1" Grid.Row="0" Source="{Binding Picture, Converter={StaticResource ImageConverter}}"></Image>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
...
模板在缩略图中同时显示图片的名称和图片本身,如果不需要图片,请使用DisplayMemberPath
<ListBox x:Name="listBox" DisplayMemberpath="Name">
</ListBox>
/// <summary>
/// Converts an image path to the associated image.
/// </summary>
public class ImageConverter : IValueConverter
{
#region IValueConverter implementation
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string imagePath = (string)value;
Uri Uri = new Uri(imagePath, UriKind.Relative);
return new BitmapImage(Uri);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
///
///将图像路径转换为关联的图像。
///
公共类图像转换器:IValueConverter
{
#区域转换器实现
公共对象转换(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
字符串imagePath=(字符串)值;
Uri=新Uri(imagePath,UriKind.Relative);
返回新的位图图像(Uri);
}
公共对象转换回(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
抛出新的NotImplementedException();
}
}
它部分用作无图片显示。基于此变量ml=new mediabrary();listBox.ItemSource=ml.Pictures.Where(picture=>picture.Name.Contains(“s”);这幅画没有显示出来。以Where语句为基础。我对XAML进行了更改:图片对图片或图片。图片未显示。以Where语句为基础。我对XAML进行了更改:图片对图片或图片。抱歉。意外按下回车键。如果我不需要图片,我需要做什么?如何使用路径?谢谢。这回答了我的问题。如果你能帮助我如何显示图片,那就太好了。我尝试了很多方法,但仍然无法显示图片(缩略图)。我刚得到照片文件名。