Hey Guys im trying to add step progress bar to a xamain form but the data is not binding from the code behind. I dont want to use a view model. Please Help Me.
<progressBar:SfStepProgressBar BindableLayout.ItemsSource="{Binding ShipmentInfoCollection}" TitleAlignment="Start" BackgroundColor="Transparent" TitleSpace="10" Orientation="Vertical" x:Name="stepProgress" Margin="0,50,0,0">
<BindableLayout.ItemTemplate>
<DataTemplate>
<progressBar:StepView x:Name="stepView" ProgressValue="{Binding progressValue}" Status="{Binding stepStatus}">
<progressBar:StepView.PrimaryFormattedText>
<FormattedString>
<Span Text="{Binding ShippingStatus.title}" FontSize="Medium" FontAttributes="Bold"/>
<Span Text=" "/>
<Span Text="{Binding ShippingStatus.description}" FontSize="Small"/>
</FormattedString>
</progressBar:StepView.PrimaryFormattedText>
<progressBar:StepView.SecondaryFormattedText>
<FormattedString>
<Span Text="{Binding date}" FontSize="Small" FontAttributes="Bold"/>
<Span Text=" "/>
<Span Text=" "/>
<Span Text="time" FontSize="Small" TextColor="#b6b0b2"/>
</FormattedString>
</progressBar:StepView.SecondaryFormattedText>
</progressBar:StepView>
</DataTemplate>
</BindableLayout.ItemTemplate>
</progressBar:SfStepProgressBar>
Code Behind
namespace MarketYaad.Pages
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class OrderDetailsPage : ContentPage
{
public ObservableCollection<OrderDetail> OrderDetailCollection;
public ObservableCollection<ShipmentDetails> ShipmentInfoCollection;
public OrderDetailsPage(int orderId)
{
InitializeComponent();
OrderDetailCollection = new ObservableCollection<OrderDetail>();
ShipmentInfoCollection = new ObservableCollection<ShipmentDetails>();
GetOrderDetail(orderId);
GetOrderItems();
GetShipmentStatus(orderId);
}
private async void GetShipmentStatus(int orderId)
{
var shippingdetails = await ApiService.GetShipmentStatuses(orderId);
foreach (var item in shippingdetails)
{
ShipmentInfoCollection.Add(item);
}
}