Quantcast
Channel: Recent Threads — Xamarin Community Forums
Viewing all 204402 articles
Browse latest View live

ListView items not completely loaded using xamarin.forms

$
0
0

My List View controller doesn't load all the elements, just it loads 1 element in this case, in other cases it loads like 4 but the others don't

As I have test where the problem occurs i have known that the problem is over the Frame controller, thanks to the frame most of my items on my List View dont load

image of the current problem:


Loaction error

$
0
0

Hello everyone i am trying to get the location of the device of user but when i use this code

 var loc = await Geolocation.GetLocationAsync();
                LongMAP = loc.Longitude.ToString();
                LatMAP = loc.Latitude.ToString();

i got this error "object reference not set to an instance of an object"
i used others Nuget but i am geting the same error

using Xamarin.Essentials;
using Plugin.Geolocator;

iOS Large title with Shell

$
0
0

Hi guys,

I'm playing with shell and i'm facing an issue when i try to put a large title on my content page (iOS).

According to the documentation https://docs.microsoft.com/fr-fr/xamarin/xamarin-forms/platform/ios/page-large-title, i can use
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core" ios:NavigationPage.PrefersLargeTitles="true" or ios:Page.LargeTitleDisplay="Always" to make it work, but as i'm doing everything based on a Shell app, i only have contentPage and not NavigationPage

`

<TabBar>
    <Tab Title="1">
        <ShellContent ContentTemplate="{DataTemplate pages:Page1}"/>
    </Tab>
    <Tab Title="2">
        <ShellContent ContentTemplate="{DataTemplate pages:Page2}"/>
    </Tab>
</TabBar>

`

I try to set it directly in the code behind but i have the same result. And if i embedded my ShellApp in a navigationPage in the App.xaml.cs, i have a NavigationPage must have a root Page before being used. Either call PushAsync with a valid Page, or pass a Page to the constructor before usage exception. Does anyone manage to make it works?

Thanks !

A little yellow circle on left botton on info.plist name

$
0
0

I have a yellow circle on the info.plist name. What means this?

How to implement long press delete functionality as like in gmail mobile app.

$
0
0

Hi Team,

I am trying to implement long press delete functionality, same like as in gmail app. tried to figure out for inputs but I didn't get exactly.
Could you please share your references if anyone worked on this.

Big thanks in advance,

Regards,
Naveen.

Custom Control not working

$
0
0

Hi,

I am trying to create a custom control using below code and showing it on my About page but Ia m not shown

Here is my Control:

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:d="http://xamarin.com/schemas/2014/forms/design"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:SyncfusionBorder="clr-namespace:Syncfusion.XForms.Border;assembly=Syncfusion.Core.XForms"
    mc:Ignorable="d"
    x:Class="Zeera.Controls.NavigationHeader">
    <NavigationPage.TitleView>
        <Grid ColumnSpacing="0" RowSpacing="0" BackgroundColor="{DynamicResource NavBarSystemBackColor}">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>

            <SyncfusionBorder:SfBorder Grid.Column="0" BorderColor="Black" HorizontalOptions="Center" VerticalOptions="Center" CornerRadius="25">
                <Image Source="logo.png" WidthRequest="35" HeightRequest="35">
                    <Image.GestureRecognizers>
                        <TapGestureRecognizer Tapped="ImageHomePageLogoTapped" NumberOfTapsRequired="1" />
                    </Image.GestureRecognizers>
                </Image>
            </SyncfusionBorder:SfBorder>

            <Label x:Name="LabelNavigationHeader" Grid.Column="1" Text="Country" TextColor="{DynamicResource NavBarSystemTextColor}" HorizontalOptions="FillAndExpand" HorizontalTextAlignment="Center" VerticalOptions="Center" />

            <Image Grid.Column="2" Source="Close.png" Margin="10" WidthRequest="35" HeightRequest="35" HorizontalOptions="End" VerticalOptions="Center">
                <Image.GestureRecognizers>
                    <TapGestureRecognizer Tapped="ImageTitleBarCloseTapped" NumberOfTapsRequired="1" />
                </Image.GestureRecognizers>
            </Image>
        </Grid>
    </NavigationPage.TitleView>
</ContentView>

and my custom control CS:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace Zeera.Controls
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class NavigationHeader : ContentView
    {
        public static readonly BindableProperty TitleProperty = BindableProperty.Create(nameof(Title), typeof(string), typeof(NavigationHeader), default(string), Xamarin.Forms.BindingMode.OneWay);
        // public static readonly BindableProperty TitleProperty = BindableProperty.Create(nameof(Title), typeof(string), typeof(NavigationHeader), default(string), Xamarin.Forms.BindingMode.OneWay);
        // public static readonly BindableProperty TitleProperty = BindableProperty.Create("Text", typeof(string), typeof(NavigationHeader), default(string));
        public string Title
        {
            get
            {
                return (string)GetValue(TitleProperty);
            }

            set
            {
                SetValue(TitleProperty, value);
            }
        }

        public NavigationHeader()
        {
            InitializeComponent();

            NavigationPage.SetHasNavigationBar(this, false);

            // LabelNavigationHeader.SetBinding(Label.TextProperty, new Binding())
        }

        protected override void OnPropertyChanged(string propertyName = null)
        {
            base.OnPropertyChanged(propertyName);

            if (propertyName == TitleProperty.PropertyName)
            {
                LabelNavigationHeader.Text = Title;
            }
        }

        private void ImageHomePageLogoTapped(object sender, System.EventArgs e)
        {
            // Settings SettingsTabView = new Settings(MainPagetabView);
            // MainPagetabView.tabSettings.Content = SettingsTabView;
            // SettingsTabView.get_settings();
        }

        void ImageTitleBarCloseTapped(object sender, System.EventArgs e)
        {
            Navigation.PopModalAsync();
        }
    }
}

and this is my About.xaml:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:d="http://xamarin.com/schemas/2014/forms/design"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:SyncfusionBorder="clr-namespace:Syncfusion.XForms.Border;assembly=Syncfusion.Core.XForms"
    xmlns:NavigationHeader="clr-namespace:Zeera.Controls"
    mc:Ignorable="d"
    x:Class="Zeera.About">
    <NavigationHeader:NavigationHeader Title="Hello My Nav" />
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Welcome to Xamarin.Forms!"
                VerticalOptions="CenterAndExpand" 
                HorizontalOptions="CenterAndExpand" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

Kindly help..

Thanks,
Jassim

Convert GoogleMap Snapshot Java solution to Xamarin C#

I can't find my Signing Identity and my Provisioning Profile when I want sign my Bundle manually

$
0
0

Hello,

After several hours of research, I succumb, and I beg the Xamarin community to save me from madness (I exaggerate may be a little).

Visual studio can not find my "Signing Identity" and my "Provisioning Profile" when I want sign my Bundle manually in the "iOS Bundle Signing" section in the "properties" page of my iOS project.

More infos about my situation :

  • I work on Windows 10 with Visual Studio 2019 and I pair my macOS Catalina 10.15
  • I have an Apple Developer Account and I create Certificates, Identifiers and Profiles for my App.
  • I can see them in the details of Apple Accounts (Tools>Options>Xamarin>Apple Accounts).
  • I have installed .cer and .mobileprovision on my Mac.
  • In the info.plist, I referenced the Bundle Identifier that matches the one in my profiles.
  • I already deleted the bin and obj folder after clean my project and restart VS.

Someone has a solution ?
Thanks in advance.




Xamarin.Forms page with TitleView accessibility on iOS not working

$
0
0

Hello,

I have a ContentPage which uses NavigationPage.TitleView. Everything is working fine except we are not able to perform UI/automated testing on it. We set all the AutomationIds in the XAML and also tried setting AutomationProperties.IsInAccessibleTree in the code behind, but XCode's Accessibility Inspector tool is still unable to detect the content of the titleView.

Here is the XAML for the title view:

<NavigationPage.TitleView>

<StackLayout.Padding>

0,0,15,0

</StackLayout.Padding>

Our goal is to do ui testing using Appium. So far it is working properly on Android. Any help is appreciated.

Thanks,
Wil

I am unable to edit two properties at in Xamarin.Android project.

$
0
0

I have created custom control as :

`<?xml version="1.0" encoding="UTF-8"?>

<ViewCell.View>
    <StackLayout Spacing="0" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand" >
        <StackLayout.Orientation>
            <OnPlatform x:TypeArguments="StackOrientation" iOS="Horizontal" Android="Vertical" />
        </StackLayout.Orientation>
        <StackLayout.Padding>
            <OnPlatform x:TypeArguments="Thickness" iOS="5,10,5,10" Android="5,0,0,0" />
        </StackLayout.Padding>
        <Label  x:Name="thisLabel"
                Text="{Binding Label, Source={x:Reference thisExtendedEntryCell}}"
                HorizontalOptions="StartAndExpand" VerticalOptions="CenterAndExpand" FontSize="18">
            <Label.Margin>
                <OnPlatform x:TypeArguments="Thickness" iOS="12,0,0,0" Android="0"></OnPlatform>
            </Label.Margin>
        </Label>
        <Entry x:Name="EntryControls"
                                Text="{Binding Text, Source={x:Reference thisExtendedEntryCell}}"
                                Placeholder="{Binding Placeholder, Source={x:Reference thisExtendedEntryCell}}"
                                IsEnabled="{Binding IsEnabled, Source={x:Reference thisExtendedEntryCell}}"
                                TextChanged="OnTextChanged"
                                VerticalOptions="CenterAndExpand"
                                HorizontalTextAlignment="Start">
        </Entry>           
    </StackLayout>
</ViewCell.View>

`

`using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace Sample
{

public partial class SampleEntryControl : ViewCell
{
    public static readonly BindableProperty LabelProperty = BindableProperty.Create(nameof(Label), typeof(string), typeof(SampleEntryControl), null, BindingMode.TwoWay);

if IOS

    private const double DEFAULT_LABEL_WIDTH = 100;
    public static readonly BindableProperty LabelWidthProperty = BindableProperty.Create(nameof(LabelWidth), typeof(double), typeof(SampleEntryControl), DEFAULT_LABEL_WIDTH, BindingMode.TwoWay);

endif

    public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(SampleEntryControl), null, BindingMode.TwoWay);
    public static readonly BindableProperty TextMaxSizeProperty = BindableProperty.Create(nameof(TextMaxSize), typeof(double), typeof(SampleEntryControl), double.PositiveInfinity, BindingMode.TwoWay);
    public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(Placeholder), typeof(string), typeof(SampleEntryControl), null, BindingMode.TwoWay);

    public string Label
    {
        get => (string)GetValue(LabelProperty);
        set => SetValue(LabelProperty, value);
    }

if IOS

    public double LabelWidth
    {
        get => (double)GetValue(LabelWidthProperty);
        set => SetValue(LabelWidthProperty, value);
    }

endif

    public string Text
    {
        get => (string)GetValue(TextProperty);
        set => SetValue(TextProperty, value);
    }

    public double TextMaxSize
    {
        get => (double)GetValue(TextMaxSizeProperty);
        set => SetValue(TextMaxSizeProperty, value);
    }

    public string Placeholder
    {
        get => (string)GetValue(PlaceholderProperty);
        set => SetValue(PlaceholderProperty, value);
    }

    public SampleEntryControl()
    {
        InitializeComponent();
        var thisLabel = (Label)this.FindByName("thisLabel");

        thisLabel.LineBreakMode = LineBreakMode.TailTruncation;
        var EntryControl = (Entry)this.FindByName("EntryControls");
        if (Device.RuntimePlatform == Device.iOS)
        {
            EntryControl.HorizontalOptions = LayoutOptions.EndAndExpand;
            EntryControl.WidthRequest = 200;
            EntryControl.MinimumWidthRequest = 200;
        }

        if (Device.RuntimePlatform == Device.Android)
        {
            thisLabel.Margin = new Thickness(5, 0, 0, 0);
            EntryControl.HorizontalOptions = LayoutOptions.FillAndExpand;
        }
    }

    private void OnTextChanged(object sender, TextChangedEventArgs e)
    {
        var entry = (Entry)sender;

        if (entry.Text.Length > TextMaxSize)
        {
            string entryText = entry.Text;
            entry.TextChanged -= OnTextChanged;
            entry.Text = e.OldTextValue;
            entry.TextChanged += OnTextChanged;
        }
    }
}

}`

used it with TableView. Here I set two properties Intend and HasUnevenOdd.

`<?xml version="1.0" encoding="utf-8" ?>

<StackLayout>
    <!-- Place new controls here -->
    <Label Text="Welcome to Xamarin.Forms!" 
       HorizontalOptions="Center"
       VerticalOptions="CenterAndExpand" />
    <TableView Intent="Form" HasUnevenRows="True">
        <TableRoot>
            <TableSection x:Name="TableSection">

            </TableSection>
        </TableRoot>
    </TableView>
</StackLayout>

`

Bind data as

`using System.Collections.Generic;
using Xamarin.Forms;

namespace Sample
{
public partial class MainPage : ContentPage
{
Dictionary<string, string> CollectionDocument = new Dictionary<string, string>();
public MainPage()
{
InitializeComponent();
SetData();
var tableSection = (TableSection)this.FindByName("TableSection");
foreach (var data in CollectionDocument)
{
var extendedEntryControl = new SampleEntryControl();
extendedEntryControl.TextMaxSize = 256;
extendedEntryControl.Label = data.Key;
extendedEntryControl.Text = string.IsNullOrEmpty(data.Value) ? string.Empty : data.Value;
extendedEntryControl.PropertyChanged += UpdateCustomProperties;
tableSection.Add(extendedEntryControl);
}

    }
    private void SetData()
    {
        CollectionDocument.Add("Ajay", "Engineer");
        CollectionDocument.Add("Kmal", "Engineer");
        CollectionDocument.Add("Vjay", "Engineer");
        CollectionDocument.Add("Sajay", "Engineer");
        CollectionDocument.Add("samay", "Engineer");
        CollectionDocument.Add("Anay", "Engineer");
        CollectionDocument.Add("Vinay", "Engineer");
        CollectionDocument.Add("Joy", "Engineer");
        CollectionDocument.Add("Singh", "Engineer");
        CollectionDocument.Add("Morgan", "Engineer");
        CollectionDocument.Add("Morean", "Engineer");
        CollectionDocument.Add("Jean", "Engineer");
        CollectionDocument.Add("S Thing", "Engineer");
        CollectionDocument.Add("Vishnu", "Engineer");
        CollectionDocument.Add("Dishu", "Engineer");

    }

    private void UpdateCustomProperties(object sender, System.EventArgs e)
    {
        //need to check.
    }
}

}`

Everything is working fine. But issue is when I try to edit value in the list by tapping on row, I am able to edit few values but last few rows I am unable to edit value and focus is not moving to the entry control.

Please let me know if one is facing same type of issue.
Any help is appreciated.

How to read the value from the username text box of my login page loaded in the xamarin android web

$
0
0
I'm trying to get the value in the user name text box from my login page after the user entered it in a web page using webview in Xamarin android.

I tried using "document.getelementbyid('useranme').values"

but it is always returning null values. Can any one please help ?

LinkAssemblies" task failed unexpectedly.

$
0
0

This is the error:
LinkAssemblies" task failed unexpectedly.

If i build i get this error, but if i put a device so this error does not appear. How can i solve this?

I use Xamarin for Mac and IOS App

Has anyone done a splash screen that shows loading progress from the PCL project?

$
0
0

I am trying to build a splash screen for my app which has a lengthy startup process.
I have been trying to use messagingcenter to contend with this, but I am running into problems with getting the message subscriber to update a progress bar in my android project from the PCL project.

What I have done so far is as follows .

[app.droid]

[Activity(  Theme = "@style/splashscreen",
            MainLauncher = true,
            NoHistory = true)]
    public class SplashActivity : Activity
 {
        protected override void OnCreate(Bundle savedInstanceState)
        {
             try
                {
                     base.OnCreate(savedInstanceState);
                    SetContentView(Resource.Layout.Startup);
                    Android.Widget.ProgressBar progbar= FindViewById<Android.Widget.ProgressBar>(Resource.Id.splashProgress);
                    MessagingCenter.Subscribe<PopupPage, int>(this, "pbStep",
                            (progressb, x) =>
                            {
                                progbar.Progress += x;
                                progbar.RefreshDrawableState();
                            });
            //This invokes my long running code in the PCL project.
                    BeginLongBits();
                    StartActivity(typeof(MainActivity));
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"***Event***{ex.Message}==={ex.InnerException}");
                }
        }
}

Startup.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:minWidth="25px"
        android:minHeight="25px">
        <ProgressBar
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:minWidth="25px"
            android:minHeight="25px"
            android:id="@+id/splashProgress"
            android:layout_marginBottom="1.0dp"
            android:layout_marginTop="353.0dp"
            android:layout_marginLeft="0.0dp"
            android:max="100"
            android:drawingCacheQuality="auto" />

    </LinearLayout>

[app.pcl]
in various locations that represent steps in the progress of finishing the start up I use a send like this

            MessagingCenter.Send<object, int>(this, "pbStep", 10);

How to add image to datepicker

$
0
0

How can i add a calendor icon of my own to the date picker in xaml.
I have written this in my sample.xaml

Speeding up Navigation

$
0
0

Hi, I have a little problem with my application.
It takes ages to navigate between pages.
My UIs are quite complex and some of the views have 1300lines of xaml code.
It takes around 4-5 seconds to change from one view to another. The xaml compilation is enebled.

public class Navigation
{

    // MAIN NAVIGATION, YOU CAN DEFINE MORE NAVIGATION TABS IN CONSTRUCTOR

    // List of navigation tabs
    public ObservableCollection<NavigationItem> NavigationItems { get; set; }
    Main MainPage { get; set; }
    Trends TrendsPage { get; set; }
    Settings SettingsPage { get; set; }
    //HOT_App.Views.Settings SettingsWindow;


    public Navigation()
    {
        NavigationItems = new ObservableCollection<NavigationItem>();

        NavigationItem Home = new NavigationItem("Home", "NavigationHome.png", true);
        NavigationItem Trends = new NavigationItem("Trends", "NavigationTrend.png", false);
        NavigationItem Settings = new NavigationItem("Settings", "SettingsIcon.png", false);


        NavigationItems.Add(Home);
        NavigationItems.Add(Trends);
        NavigationItems.Add(Settings);

    }


    public void ShowActiveNavigation()
    {
        System.Diagnostics.Debug.WriteLine(string.Join<NavigationItem>("\n", NavigationItems));
    }


    // navigation logic
    public async void SetActiveNavigation(string activeNavigationName)
    {
        NavigationItems[0].Active = false;
        NavigationItems[1].Active = false;
        NavigationItems[2].Active = false;
        //ChangeActiveValue(activeNavigationName);
        switch (activeNavigationName)
        {
            case "Home":
                NavigationItems[0].Active = true;
                //Application.Current.MainPage.Navigation.PopAsync(false);

                await Application.Current.MainPage.Navigation.PushAsync(new Main(), false);
                System.Diagnostics.Debug.WriteLine("Home");
                break;
            case "Trends":
                NavigationItems[1].Active = true;
                //Application.Current.MainPage.Navigation.PopAsync(false);
                await Application.Current.MainPage.Navigation.PushAsync(new MainPage(), false);
                System.Diagnostics.Debug.WriteLine("Trends");
                break;
            case "Settings":
                NavigationItems[2].Active = true;
                //Application.Current.MainPage.Navigation.PopAsync(false);
                await Application.Current.MainPage.Navigation.PushAsync(new HOT_App.Views.Settings(), false);
                System.Diagnostics.Debug.WriteLine("Settings");
                break;
            default:
                NavigationItems[0].Active = true;
                await Application.Current.MainPage.Navigation.PushAsync(new Main(), false);
                System.Diagnostics.Debug.WriteLine("Home");
                break;

        }

    }

    // updates active navigation tab
    public void ChangeActiveValue(string activeNavigationName)
    {
        foreach (NavigationItem navigationItem in NavigationItems)
        {

            if (navigationItem.NavigationItemName == activeNavigationName)
            {
                navigationItem.Active = true;
            }
            else { navigationItem.Active = false; }
        }
    }

}

Is there any way how to reuse the views instead of creating new ones? Like Instead of
Application.Current.MainPage.Navigation.PushAsync(new Main(), false);
I would write soemthing like but it doesnt work
Main Mainpage= new Main();
Application.Current.MainPage.Navigation.PushAsync(Mainpage, false);

Any ideas?


Do we have any documentation/samples of Razorpay payment gateway integration in xamarin forms?

$
0
0

We want to integrate the Razorpay payment gateway for one my xamarin forms application. Can you please suggest any solutions?

App Bundle as a Check Box

$
0
0

When can we expect the Android App Bundle be make available as a check box setting in Android App properties settings page ? Thank you.

Why I am getting Cannot remove root page when it is also the currently displayed page?

$
0
0

Hi,

From my MainPage, I am opening:

App.Current.MainPage.Navigation.PushModalAsync(new Xamarin.Forms.NavigationPage(new NewAd()));

and from NewAdd I am opening:

await Navigation.PushModalAsync(new NewAdPhotos(Convert.ToString(data[0].ad_id), selected_sub_category_name));

but I want to remove the NewAd before or after opening NewAdPhotos

I tried this:

await Navigation.PushModalAsync(new NewAdPhotos(Convert.ToString(data[0].ad_id), selected_sub_category_name));

Navigation.RemovePage(this);

but I am getting:

Cannot remove root page when it is also the currently displayed page

How can i solve this please?

Thanks,
Jassim

Hot Reload does nothing

The package "apppxbundle" is taking a long time to process.Unable to push update to windows store

$
0
0

I've been at this for past 2 days and I'm getting weird errors from the store.

I'm trying to upload an update to my application "CoManga" via the store and it's not working out.

I'm working on Xamarin.Forms (UWP) and before making the appxbundle, I made sure and "associated my app with CoManga" from my developer account. All the information over there matches and should work fine without any issues.

Then I made a release of my UWP app, got the bundle and I tried to upload it to UWP.
It said that the Publisher info is different, so it couldn't upload. This is weird because I tried signing the bundle with my developer account itself.

Now, I tried building and signing the app bundle from app center. I got the appxbundle and that I tried to upload. But, since today it's giving me weird error :

The package comic_dl.UWP_2.1.15.0_ARM_x86_x64.appxbundle is taking a
long time to process. If this isn’t completed soon, try refreshing the
page, or remove the package and then upload it again. If you continue
to see this issue, contact support.

This package I tried to build from my system manually : https://drive.google.com/open?id=1VVvF6IB70R2DKNUgBJcqw-HryL1LIwgo

This is what I got from App center : https://drive.google.com/open?id=1o0sGKU2AKVgrcTelIoRFz7QCe8Do0WJ3

This is the Store ID : https://www.microsoft.com/en-in/p/comanga/9n81f8b5ww93

Can someone guide me what I might be doing wrong/missing something.

Thanks

Viewing all 204402 articles
Browse latest View live