Click here to Skip to main content
15,902,905 members
Home / Discussions / Mobile
   

Mobile

 
QuestionWhat are best app development tool to develop an uber-like app? Pin
Digital Harry4-Jun-19 4:25
professionalDigital Harry4-Jun-19 4:25 
AnswerRe: What are best app development tool to develop an uber-like app? Pin
Dave Kreskowiak5-Jun-19 5:22
mveDave Kreskowiak5-Jun-19 5:22 
GeneralRe: What are best app development tool to develop an uber-like app? Pin
Richard Deeming5-Jun-19 12:28
mveRichard Deeming5-Jun-19 12:28 
GeneralRe: What are best app development tool to develop an uber-like app? Pin
Mycroft Holmes5-Jun-19 12:58
professionalMycroft Holmes5-Jun-19 12:58 
AnswerRe: What are best app development tool to develop an uber-like app? Pin
emilysmithe11-Jun-19 23:00
professionalemilysmithe11-Jun-19 23:00 
AnswerRe: What are best app development tool to develop an uber-like app? Pin
HasanRaza9011-Sep-19 2:32
HasanRaza9011-Sep-19 2:32 
QuestionAfter photo gallery browsing it goes back to the first page Pin
Vimalsoft(Pty) Ltd30-May-19 11:10
professionalVimalsoft(Pty) Ltd30-May-19 11:10 
Questionmessage receiver Pin
Member 1415304827-Apr-19 23:29
Member 1415304827-Apr-19 23:29 
AnswerRe: message receiver Pin
Richard Deeming1-May-19 8:38
mveRichard Deeming1-May-19 8:38 
QuestionHow to add emoji png's to an Entry control or Custom Entry Control Pin
Vimalsoft(Pty) Ltd23-Apr-19 1:56
professionalVimalsoft(Pty) Ltd23-Apr-19 1:56 
AnswerRe: How to add emoji png's to an Entry control or Custom Entry Control Pin
David Crow23-Apr-19 5:21
David Crow23-Apr-19 5:21 
GeneralRe: How to add emoji png's to an Entry control or Custom Entry Control Pin
Vimalsoft(Pty) Ltd23-Apr-19 22:47
professionalVimalsoft(Pty) Ltd23-Apr-19 22:47 
QuestionAVD showing only “Android” in emulator Pin
Member 1357490016-Mar-19 23:52
Member 1357490016-Mar-19 23:52 
QuestionRe: AVD showing only “Android” in emulator Pin
David Crow27-Mar-19 10:58
David Crow27-Mar-19 10:58 
QuestionUSB Cable Between PC And Android Pin
C-P-User-38-Mar-19 5:30
C-P-User-38-Mar-19 5:30 
SuggestionRe: USB Cable Between PC And Android Pin
David Crow8-Mar-19 9:40
David Crow8-Mar-19 9:40 
GeneralRe: USB Cable Between PC And Android Pin
C-P-User-310-Mar-19 4:20
C-P-User-310-Mar-19 4:20 
AnswerRe: USB Cable Between PC And Android Pin
Richard Deeming8-Mar-19 9:43
mveRichard Deeming8-Mar-19 9:43 
QuestionXamarin forms and SQLIte database Pin
Mycroft Holmes25-Feb-19 19:37
professionalMycroft Holmes25-Feb-19 19:37 
SuggestionRe: Xamarin forms and SQLIte database Pin
David Crow26-Feb-19 4:15
David Crow26-Feb-19 4:15 
GeneralRe: Xamarin forms and SQLIte database Pin
Mycroft Holmes26-Feb-19 12:24
professionalMycroft Holmes26-Feb-19 12:24 
QuestionCross Platform Xamarin MVVM ListView binding to ViewModel List not working Pin
Stephen Holdorf19-Feb-19 2:46
Stephen Holdorf19-Feb-19 2:46 
I am trying to implement a MVVM ContentPage with a ListView that needs to bind to populated generic list of XML model objects in a ViewModel but the binding fails. The code that is shown calls an API that does return a valid list of XML data. The same code works fine when the binding is done directly in the code behind of the XAML Xamarin contentpage by setting the ItemSource in the codebehind. As said, the problem only happens when trying to pass the ListView through the ViewModel assigned to the contentpage. I have stepped through the code in the ViewModel and the ListView is populated successfully but the binding just doesn't work. I have other controls that are on the page not shown that the model binding does work for but the only control that doesn't work is the ListView. The code is shown below:

ViewModel:

namespace RestDemo.ViewModel
{
    
    public class ViewModel : INotifyPropertyChanged
    {
        public ViewModel ()
        {
           GetRequest();
        }

        List<XmlPizzaDetails> _objPizzaList;

        public List<XmlPizzaDetails> ObjPizzaList
        {
            get { return _objPizzaList; }

            set
            {
                if (_objPizzaList != value)
                {
                    _objPizzaList = value;
                    OnPropertyChanged("ObjPizzaList");
                }
            }
        }


        public async void GetRequest()
        {
            if (NetworkCheck.IsInternet())
            {

                Uri geturi = new Uri("http://api.androidhive.info/pizza/?format=xml"); //replace your xml url
                HttpClient client = new HttpClient();
                HttpResponseMessage responseGet = await client.GetAsync(geturi);
                string response = await responseGet.Content.ReadAsStringAsync();

                //Xml Parsing
                ObjPizzaList = new List<XmlPizzaDetails>();
                XDocument doc = XDocument.Parse(response);
                foreach (var item in doc.Descendants("item"))
                {
                    XmlPizzaDetails ObjPizzaItem = new XmlPizzaDetails();
                    ObjPizzaItem.ID = item.Element("id").Value.ToString();
                    ObjPizzaItem.Name = item.Element("name").Value.ToString();
                    ObjPizzaItem.Cost = item.Element("cost").Value.ToString();
                    ObjPizzaItem.Description = item.Element("description").Value.ToString();
                    ObjPizzaList.Add(ObjPizzaItem);
                }
                Progress = false;
            }
        }

    }
} 

XAML

Model Binding portion:

ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:xlocal="clr-namespace:RestDemo.ViewModel"
             xmlns:local="clr-namespace:RestDemo"
             xmlns:Views="clr-namespace:RestDemo.Views"
             x:Class="RestDemo.XmlParsingPageBehavior">
    <ContentPage.BindingContext>
        <xlocal:ViewModel />
    </ContentPage.BindingContext>


Grid Binding Portion

<Frame Margin="5, 5, 5, 5" Grid.Row="2" Grid.Column="1" BackgroundColor = "Cyan">
    <ListView x:Name="PizzaListView" ItemsSource="{Binding ObjPizzaList}"  Margin="5, 0, 5, 0" Grid.Row="2" Grid.Column="1" HorizontalOptions="FillAndExpand" HasUnevenRows="True">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <Grid HorizontalOptions="FillAndExpand" Margin="0,0,0,0" Padding="20">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>
                        <Label Text="{Binding Name}" HorizontalOptions="StartAndExpand" Grid.Row="0" TextColor="Blue"  FontAttributes="Bold"/>
                        <Label Text="{Binding Cost}" HorizontalOptions="StartAndExpand" Grid.Row="1" TextColor="Orange"  FontAttributes="Bold"/>
                        <Label Text="{Binding Description}" HorizontalOptions="StartAndExpand" Grid.Row="2" TextColor="Gray"  FontAttributes="Bold"/>
                        <BoxView HeightRequest="2" Margin="0,10,10,0" BackgroundColor="Gray" Grid.Row="3" HorizontalOptions="Fill" />
                    </Grid>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</Frame>

AnswerRe: Cross Platform Xamarin MVVM ListView binding to ViewModel List not working Pin
Mycroft Holmes19-Feb-19 11:11
professionalMycroft Holmes19-Feb-19 11:11 
GeneralRe: Cross Platform Xamarin MVVM ListView binding to ViewModel List not working Pin
Stephen Holdorf20-Feb-19 4:48
Stephen Holdorf20-Feb-19 4:48 
QuestionXamarin Forms Picker binding Pin
Mycroft Holmes21-Dec-18 19:35
professionalMycroft Holmes21-Dec-18 19:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.