Xamarin.Forms: добавить элементы в ListView из кода без привязки? - PullRequest
0 голосов
/ 10 февраля 2019

Пока что я добавил в форму карту и listview со статическими элементами.Вот как выглядит xaml:

<StackLayout>
    <StackLayout VerticalOptions="FillAndExpand">
        <maps:Map WidthRequest="960" HeightRequest="200"
        x:Name="MyMap"
        IsShowingUser="true"/>
        <ListView x:Name="ListView_Pets">
            <ListView.ItemsSource>
                <x:Array Type="{x:Type x:String}">
                    <x:String>dog</x:String>
                    <x:String>cat</x:String>
                    <x:String>bird</x:String>
                </x:Array>
            </ListView.ItemsSource>
        </ListView>
    </StackLayout>
</StackLayout>

Вместо того, чтобы быть статическими элементами, я хотел бы добавить их, используя простой цикл foreach,Вот как выглядят циклы:

    public MainPage()
    {
        InitializeComponent();

        string[] pets = { "dog", "cat", "bird" };
        foreach (string pet in pets)
        {
            /* Add each pet to ListView */
            //ListView_Pets.ItemsSource.Add(pet); This doesn't build
        }
    }

Я просматривал Источники данных ListView , но они объявляют коллекцию ObservableCollection, которую я затем связываю с ListView.Я не хочу связывать свой ListView с коллекцией;Я ищу эквивалент этого asp.net фрагмента (если это возможно):

foreach (string name in nameList)
{
    DropDownList_Pets.Items.Add(new ListItem(name));
}

1 Ответ

0 голосов
/ 10 февраля 2019

просто присвойте свой массив ItemsSource

string[] pets = { "dog", "cat", "bird" };
ListView_Pets.ItemsSource = pets;

любой IEnumerable можно использовать как ItemsSource

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...