C# 如何在ListView元素中显示图像?
我想在每个ListView元素之后显示图像。当然,其他图像可以是任何元素。因此,第一个ListView项目的图像为1.png,第二个ListView项目的图像为2.png等等。我想我应该进行绑定。我如何实现C# 如何在ListView元素中显示图像?,c#,xaml,windows-8,microsoft-metro,C#,Xaml,Windows 8,Microsoft Metro,我想在每个ListView元素之后显示图像。当然,其他图像可以是任何元素。因此,第一个ListView项目的图像为1.png,第二个ListView项目的图像为2.png等等。我想我应该进行绑定。我如何实现 <ListView x:Name="listView"> <ListView.ItemTemplate> <DataTemplate> <StackPan
<ListView x:Name="listView">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<!-- IMAGE IS HERE -->
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
页面类别:
BitmapImage bi = new
bi.UriSource = new Uri("ms-appx:///Logos/x.png");
c.image = bi;
XAML文件:
<Image Source="{Binding Source=image}"></Image>
为什么不起作用?您可以像这样绑定到收藏中的项目:
<Window x:Class="WpfApplication6.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Name="UI">
<Grid>
<ListView ItemsSource="{Binding ElementName=UI,Path=YourCollection}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Width="200" Height="200">
<Image Source="{Binding Image}"/>
<TextBlock Text="{Binding Title}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Window>
假设类/列表
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private ObservableCollection<MyListItem> _yourCollection = new ObservableCollection<MyListItem>();
public MainWindow()
{
InitializeComponent();
YourCollection.Add(new MyListItem { Title = "Item 1", Image = new BitmapImage(new Uri("C:\\Users\\Dev\\Pictures\\Picture1.PNG", UriKind.RelativeOrAbsolute)) });
YourCollection.Add(new MyListItem { Title = "Item 2", Image = new BitmapImage(new Uri("C:\\Users\\Dev\\Pictures\\Picture2.PNG", UriKind.RelativeOrAbsolute)) });
}
public ObservableCollection<MyListItem> YourCollection
{
get { return _yourCollection; }
set { _yourCollection = value; }
}
}
public class MyListItem
{
public string Title { get; set; }
public BitmapImage Image { get; set; }
}
//
///MainWindow.xaml的交互逻辑
///
公共部分类主窗口:窗口
{
私有ObservableCollection_yourCollection=新ObservableCollection();
公共主窗口()
{
初始化组件();
添加(新MyListItem{Title=“Item 1”,Image=new BitmapImage(新Uri(“C:\\Users\\Dev\\Pictures\\Picture1.PNG”,UriKind.RelativeOrAbsolute)));
添加(新MyListItem{Title=“Item 2”,Image=new BitmapImage(新Uri(“C:\\Users\\Dev\\Pictures\\Picture2.PNG”,UriKind.RelativeOrAbsolute)));
}
公共可观测集合YourCollection
{
获取{return\u yourCollection;}
设置{u yourCollection=value;}
}
}
公共类MyListItem
{
公共字符串标题{get;set;}
公共位图图像{get;set;}
}
我想我可以回答我自己的问题。我找到了解决办法
Image image = new Image();
image.Source = new BitmapImage(new Uri(@"ms-appx:/Assets/Logos/x.png"));
<Image Source="{Binding Path=image.Source.UriSource.AbsolutePath}" Width="55" Height="40"/>
Image Image=newimage();
image.Source=新的位图图像(新的Uri(@“ms-appx:/Assets/Logos/x.png”);
Image image = new Image();
image.Source = new BitmapImage(new Uri(@"ms-appx:/Assets/Logos/x.png"));
<Image Source="{Binding Path=image.Source.UriSource.AbsolutePath}" Width="55" Height="40"/>