Quantcast
Channel: Xamarin.Forms — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 77050

ListView not showing.

$
0
0

I have a form with ListView with source in MVVM. The list isn't display, don't know why. Both form and MVVM are fairly simple so I really don't know why it doesn't work. Any ideas?

Here's my form's 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"
             x:Class="TestZXing.ScanPage">
    <ContentPage.Content>
        <StackLayout>
            <ListView x:Name="lstProcesses"
                      ItemsSource="{Binding Items}"
                      VerticalOptions="FillAndExpand"
                      HasUnevenRows="True"
                      SeparatorVisibility="Default"
                      SelectedItem="{Binding SelectedItem}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <StackLayout Padding="10">
                                <Label
                                    Text="{Binding Name}"
                                    LineBreakMode="NoWrap"
                                    Style="{DynamicResource ListItemTextStyle}"
                                    FontSize="16"/>
                                <Label
                                    Text="{Binding Description}"
                                    LineBreakMode="NoWrap"
                                    Style="{DynamicResource ListItemDetailTextStyle}"
                                    FontSize="13" />
                            </StackLayout>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
            <Button
                x:Name="btnOpenProcess"
                Text="OK"
                Clicked="btnOpenProcess_Clicked"
                />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

And here's code behind:

    public partial class ScanPage : ContentPage
        {
            ProcessInPlaceViewModel vm;

            public ScanPage()
            {
                InitializeComponent();
                List<Process> Pros = new List<Process>
                {
                    new Process{ ActionTypeName="Awaria", CreatedOn=DateTime.Now, CreatedByName="Tomek"},
                    new Process{ ActionTypeName="Konserwacja", CreatedOn=DateTime.Now, CreatedByName="Dupa"}
                };
                vm = new ProcessInPlaceViewModel(Pros);
                BindingContext = vm;
            }

And MVVM:

public class ProcessInPlaceViewModel
    {
        public List<ProcessItem> Items = new List<ProcessItem>();

        public ProcessInPlaceViewModel(List<Process> nItems)
        {
            ProcessItem pii = new ProcessItem { Id = 0, Name = "Nowy", Description = "Dodaj nowe zlecenie" };
            Items.Add(pii);
            foreach(Process p in nItems)
            {
                ProcessItem pi = new ProcessItem();
                pi.Id = p.ProcessId;
                pi.Name = p.ActionTypeName;
                pi.Description = "Status: " + p.Status + ". Utworzono " + p.CreatedOn.ToString() + " przez " + p.CreatedByName;
                Items.Add(pi);
            }
        }

        private ProcessItem _selectedItem { get; set; }
        public ProcessItem SelectedItem
        {
            get
            {
                return _selectedItem;
            }
            set
            {
                if(_selectedItem != value)
                {
                    _selectedItem = value;
                }
            }
        }
    }

Viewing all articles
Browse latest Browse all 77050

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>