Я новичок в Xamarin и после двухчасовых попыток не могу заставить свою страницу работать ...
Идея состоит в том, чтобы получить список имен в SessionsList.cs, который будет обновляться автоматически при изменении ObservableCollection. Я не получаю никаких ошибок, но страница, на которой должен отображаться список, пуста
App.xaml.cs
using Xamarin.Forms;
namespace BetterApp
{
public partial class App : Application
{
public static bool IsUserLoggedIn { get; set; }
public App()
{
if (!IsUserLoggedIn)
{
MainPage = new NavigationPage(new MainPage());
}
else
{
MainPage = new NavigationPage(new SessionsList());
}
}
protected override void OnStart()
{
}
protected override void OnSleep()
{
}
protected override void OnResume()
{
}
}
}
MainPage.xaml.cs
using System.ComponentModel;
using Xamarin.Forms;
namespace BetterApp
{
[DesignTimeVisible(false)]
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
var lblUser = new Label
{
Text = "Username:"
};
var txtUser = new Entry
{
Placeholder = "Enter username"
};
var lblPass = new Label
{
Text = "Password:"
};
var txtPass = new Entry
{
Placeholder = "Enter password",
IsPassword = true
};
var btnLogin = new Button
{
Text = "LOGIN"
};
Content = new StackLayout
{
Padding = 30,
Spacing = 10,
Children = { lblUser, txtUser, lblPass, txtPass, btnLogin }
};
btnLogin.Clicked += async (sender, e) =>
{
if (Login.login(txtUser.Text, txtPass.Text))
{
App.IsUserLoggedIn = true;
Navigation.InsertPageBefore(new SessionsList(), this);
await Navigation.PopAsync();
}
else
{
await DisplayAlert("Error", "Bad login details", "OK");
}
};
}
}
}
SessionsList.cs
using System.Collections.ObjectModel;
using Xamarin.Forms;
namespace BetterApp
{
class SessionsList : ContentPage
{
ObservableCollection<Sessions> session = new ObservableCollection<Sessions>();
public SessionsList()
{
App.IsUserLoggedIn = false;
var list = new ListView();
list.ItemsSource = session;
var btnRefresh = new Button
{
Text = "REFRESH"
};
btnRefresh.Clicked += (sender, e) =>
{
UpdateSessions();
};
}
public void UpdateSessions()
{
session.Add(new Sessions { name = "Rob Finnerty" });
}
}
}
Sessions.cs
namespace BetterApp
{
class Sessions
{
public string name { get; set; }
}
}
Мне не хватает деталей, пожалуйста, дайте мне знать, чтобы улучшить мой вопрос:)