Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin表单图像未显示在listview中_C#_Android_Image_Xamarin_Xamarin.forms - Fatal编程技术网

C# Xamarin表单图像未显示在listview中

C# Xamarin表单图像未显示在listview中,c#,android,image,xamarin,xamarin.forms,C#,Android,Image,Xamarin,Xamarin.forms,我想显示一个/\我的列表视图中的图标。不幸的是,它没有出现在任何地方 我100%肯定它在iOS和Android应用程序中都处于正确的位置。我已经仔细检查了它是否是Android资源(根据下面的屏幕截图) 用于初始化图像的代码:alarmIcon=new image{Source=“warning.png”} 初始化后,我将其放入AlarmPageItem对象中,作为图像属性。这将添加到listview中。 我已检查绑定是否与AlarmPageItem属性匹配。(文本确实会显示) 我不知道为什么

我想显示一个
/\我的列表视图中的图标。不幸的是,它没有出现在任何地方

我100%肯定它在iOS和Android应用程序中都处于正确的位置。我已经仔细检查了它是否是Android资源(根据下面的屏幕截图)

用于初始化图像的代码:
alarmIcon=new image{Source=“warning.png”}

初始化后,我将其放入AlarmPageItem对象中,作为图像属性。这将添加到listview中。 我已检查绑定是否与
AlarmPageItem
属性匹配。(文本确实会显示)

我不知道为什么它不起作用

我试过的东西

  • 检查图像和源声明的大小写
  • 已检查生成操作并复制到输出目录
  • 检查绑定匹配
  • 尝试用楼宇电话代替xamarin live player
  • 检查图像位置
  • 代码:

    
    

    public部分类报警页面:ContentPage
    {
    私有列表listViewItems;
    私有图像报警图标;
    公共警报页()
    {
    listViewItems=新列表();
    alarmIcon=新图像{Source=“warning.png”};
    大众主义者();
    初始化组件();
    listView.ItemsSource=listViewItems;
    }
    已映射的私有void(对象发送方,ItemTappedEventArgs e)
    {
    如果(e==null)return;//已设置为null,则不要“处理”事件
    Debug.WriteLine(“点击:+e.Item”);
    ((ListView)sender).SelectedItem=null;//取消选择该行
    }
    私有void PopulateList()
    {
    添加(新的AlarmPageItem(){AlarmImage=alarmIcon,AlarmText=“前面太重”,DateTime=DateTime.Now.ToShortTimeString()});
    }
    }
    
    您在XAML中绑定为
    图像的“源”,这是您在代码隐藏中创建的
    图像
    对象

    通过将
    AlarmImage
    属性设置为
    ImageSource
    或只是一个简单的
    字符串来更新
    AlarmPageItem

    比如:

    class AlarmPageItem
    {
        public string AlarmImage { get; set; }
    
        public string AlarmText { get; set; }
    
        //Just a suggestion: Change this property name for something different as it 
        //can create some confusion.
        public DateTime DateTime { get; set; }
    
         ...
    
        // Add any other properties your class might have.
    }
    
    更新上述内容后,只需在
    PopulateList
    方法中更改代码以设置图像的名称

    private void PopulateList()
    {
        listViewItems.Add(new AlarmPageItem() {AlarmImage = "warning.png", AlarmText = "The front is too heavy", DateTime = DateTime.Now.ToShortTimeString()});
    }
    

    希望这有帮助。-

    为什么不显示为ListView实现的全部代码?更容易找到问题所在。@apineda现在添加了代码:)如果您向图像发出高度请求,它会显示吗?
    class AlarmPageItem
    {
        public string AlarmImage { get; set; }
    
        public string AlarmText { get; set; }
    
        //Just a suggestion: Change this property name for something different as it 
        //can create some confusion.
        public DateTime DateTime { get; set; }
    
         ...
    
        // Add any other properties your class might have.
    }
    
    private void PopulateList()
    {
        listViewItems.Add(new AlarmPageItem() {AlarmImage = "warning.png", AlarmText = "The front is too heavy", DateTime = DateTime.Now.ToShortTimeString()});
    }