我想将数据库中的内容添加到在视图模型中声明的变量中。我的目标是将数据库中的数据显示到“查看”页面中。我想知道我该怎么做,因为我真的很想使用Model-View-Viewmodel方法。
这是我的ViewModel代码:
using System.Text;
using WishListProject.Models;
using Xamarin.Forms;
namespace WishListProject.ViewModels
{
class GameListViewModel
{
public ObservableCollection<string> Games { get; set; }
private ListView _listView;
string _dbPath =
Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal),
"myWishList.db3");
public GameListViewModel()
{
Games = new ObservableCollection<string>();
var db = new SQLiteConnection(_dbPath);
_listView = new ListView();
_listView.ItemsSource = db.Table<Game>().OrderBy(x => x.GameNaam).ToList();
Games.Add(????);
}
}
}
答案 0 :(得分:1)
您不应在ListView
中声明ViewModel
。 ListView
是一个UI元素,属于View。 Games
是ViewModel属性,因此您可以使用数据绑定在视图中分配它
ObservableCollection<Game> Games { get; set; }
...
var db = new SQLiteConnection(_dbPath);
Games = new ObservableCollection<Game>(db.Table<Game>().OrderBy(x => x.GameNaam).ToList());