Wyświetlenie losowej wartości JSON w MAUI Community Toolkit Popup

2

Kod twojego popupa nie ma sensu.

Raczej coś takiego:

public partial class PopupPageAlert : Popup
{
    public drinksclass drink { get; set; }
    public PopupPageAlert(drinksclass drink)
    {
        InitializeComponent();
        this.drink = drink;
   		this.BindingContext = this.drink;
    }

    private void CloseBtn_Clicked(object sender, EventArgs e)
    {
        this.Close();
    }
}

Reszta kodu wygląda w porządku, aczkolwiek zamiast tego foreacha i ifa wystarczy coś takiego:

this.ShowPopup(new PopupPageAlert(drinks.First(x => x.id == randomdrink)));

A jeżeli się nie pokazuje poprawnie to ewentualnie pokaż jeszcze XAML do swojego popupa.

0

@Ktos: Wrócę z pracy, sprawdzę i dam znać.

0

@Ktos: niestety cos nie chce wyświetlać :/
Kod XAML:

<toolkit:Popup xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
               CanBeDismissedByTappingOutsideOfPopup="True"
               HorizontalOptions="Center"
               VerticalOptions="Center"
               Color="Coral"
               
             x:Class="AAA.PopupPageAlert" >
    <Frame BorderColor ="Coral" BackgroundColor="Coral" >
        <VerticalStackLayout Spacing="5" BackgroundColor="Coral" >
            <Label Text="WYLOSOWANY DRINK!" FontSize="22" FontAttributes="Bold" FontFamily="Almarai-ExtraBold" HorizontalTextAlignment="Center" VerticalTextAlignment="Center" />
            <Image Source="pinacolada.png" WidthRequest="200" HeightRequest="200" HorizontalOptions="Center" VerticalOptions="Center" />
            <Label Text="{Binding drink}" />
            <HorizontalStackLayout>
                <Button Text="ZAMKNIJ" x:Name="CloseBtn" Clicked="CloseBtn_Clicked" Button.VerticalOptions="CenterAndExpand"/>
                
            </HorizontalStackLayout>
        </VerticalStackLayout>
    </Frame>
</toolkit:Popup>

2

Masz:

<Label Text="{Binding drink}" />

To oznacza, że tutaj wyświetlasz cechę o nazwie "drink" z twojego BindingContext.

Twój BindingContext, obiekt klasy drinksclass ma tylko name oraz id.

1

@Ktos: Wielkie dzięki za pomoc i cenne wskazówki, teraz wszystko działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1