我正在尝试在表单中创建一个可扩展的列表视图,并且我收到错误“找不到类型或命名空间名称'Items'(您是否缺少using指令或程序集引用?)”我试图触摸时按钮隐藏或显示布尔值。
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
namespace ExpandableListViewTest
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class ListViewType : ContentPage
{
public ObservableCollection<string> Items { get; set; }
public bool IsVisible { get; set; }
public ListViewType()
{
InitializeComponent();
IsVisible = false;
Items = new ObservableCollection<string>
{
new Items
{
Title = "Sad"
},
new Items
{
Title = "Angry"
},
new Items
{
Title = "Fearful"
}
};
}
public void HideOrShowItem(Items item)
{
item.IsVisible = true;
UpdateItems(item);
}
private void UpdateProducts(Items item)
{
var index = Items.IndexOf(item);
Items.Remove(item);
Items.Instert(index, item);
}
}
}
答案 0 :(得分:0)
您的ObservableCollection
Items
具有类型参数string
,但您正在尝试创建Items
类型的对象,这有两个原因无法实现
Items
,因此你无法创建这种类型的实例ObservableCollection
具有类型参数string
,则无法添加除字符串之外的任何项目。 您可以在集合中添加字符串
Items = new ObservableCollection<string>
{
"Sad",
"Angry",
"Fearful"
};
或您创建了类型Item
(重命名)
class Item
{
Title { get; set; }
}
然后创建该类型的实例:
Items = new ObservableCollection<Item>
{
new Item
{
Title = "Sad"
},
new Item
{
Title = "Angry"
},
new Item
{
Title = "Fearful"
}
};
当然,您必须将Items
的类型更改为ObservableCollection<Item>
,原因如上所述(无法将Item
类型的对象添加到ObservableCollection<string>
})。