我目前正在创建一个C#XAML Windows应用商店应用我已成功获得应用以执行我想要它做的事情,这是当我点击listviewitem时图像向右更改,但是为每个listview项目执行此操作我不得不为每个listviewitem创建一个位图图像。
我觉得非常耗时,任何人都可以推荐一种我可以创建的方法,以免我在每个listviewitem Selection_changed中写这个。
BitmapImage PlatoImage = new BitmapImage(new Uri(this.BaseUri,"example.jpg"));
PhilosopherImage.Source = PlatoImage;
以下是原始方法
private void PhilosopherList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (PhilosopherList.SelectedIndex ==1)
{
BitmapImage Aristotle = new BitmapImage(new Uri(this.BaseUri, "aristotle.png"));
PhilosopherImage.Source = Aristotle;
我为其余的所做的就是插入'否则如果'语句来补偿其他'selectedindex'我还没有创建一个方法来保存我是时候为每个listviewitem创建一个新的位图图像
答案 0 :(得分:0)
听起来你的listview项目就是字符串。
不使用数据绑定,可以将ListView项更改为包含要显示的字符串和图像URL的对象,然后添加一个返回要显示的字符串的tostring()方法。然后,您的SelectionChanged处理程序可以简单地从所选项目中获取图像URL。
listview项目类型如下:
public class ItemType
{
public string DisplayString{get;set;}
public string ImageUrl{get;set;}
public override string ToString()
{
return DisplayString;
}
}