Stworzyłem kod który wybiera losową wartość JSON. W jaki sposób mogę wyświetlić wybraną wartość JSON w popupie? Próbowałem poprzez Data Binding ale niestety nie wiem jak to zrobić.
Kod wyboru losowej wartości JSON:
public MainPage()
{
InitializeComponent();
this.BindingContext = new MainPageViewModel();
}
private async void OnButton_Clicked1(object sender, EventArgs e)
{
Random random = new Random();
int randomdrink = random.Next(1, 5);
using var stream = await FileSystem.OpenAppPackageFileAsync("drinks.json");
using var reader = new StreamReader(stream);
var drinks = JsonSerializer.Deserialize<List<drinksclass>>(stream);
if (drinks != null)
{
foreach (var drinksclass in drinks)
{
if (drinksclass.id == randomdrink)
{
//await DisplayAlert($"ALERT", drinksclass.name, "OK");
//this.ShowPopup(new PopupPageAlert(drinksclass));
}
}
}
}
Kod Popup:
public partial class PopupPageAlert : Popup
{
public drinksclass drink { get; set; }
public PopupPageAlert(drinksclass drink)
{
InitializeComponent();
this.drink = drink;
}
public PopupPageAlert()
{
InitializeComponent();
this.BindingContext = this.drink = drink;
}
private void CloseBtn_Clicked(object sender, EventArgs e)
{
this.Close();
}
}
Klasa:
public class drinksclass
{
public string name { get; set; }
public int id { get; set; }
}