ListView создает ячейки для каждой буквы массива строк в Xamarin - PullRequest
0 голосов
/ 26 декабря 2018

Я сталкиваюсь с проблемой, что моя страница ListView не отображает каждый элемент моего string[], а разделяет каждый элемент моего массива, так что каждая ячейка содержит одну букву слова.Вместо «Мария» результатом будет «M aria», каждая в разных ячейках.

Мой автоматически сгенерированный код XAML:

<ListView x:Name="schuelerListe"
        ItemsSource="{Binding Items}"
        ItemTapped="Handle_ItemTapped"
        CachingStrategy="RecycleElement">

<!--Built in Cells-->
<ListView.ItemTemplate>
    <DataTemplate>
        <TextCell Text="{Binding .}" />
    </DataTemplate>
</ListView.ItemTemplate>

Мой код xaml.cs

public Wuensche1(string[] girlsSplit, string[] boysSplit, int boysLength, int girlsLength, string text1, string text2)
    {
        InitializeComponent();

        var _girlsSplit = girlsSplit;
        var _boysSplit = boysSplit;


        schuelerListe.ItemsSource = _girlsSplit;
        //for (int i = 0; i < girlsLength; i++)
        //{
        // schuelerListe.ItemsSource.Add(_girlsSplit[i]);
        //};

boysSplit[] и girlsSplit[] являются результатом разделения строк text1 и text2 после каждой запятой, которые все передаются через конструктор.

РЕДАКТИРОВАТЬ

Код, который используется для имен:

char[] charsToTrim = { ' ' };
private void NamesBoys_Completed(object sender, EventArgs e)
    {

        text1 = ((Editor)sender).Text;
        boysSplit = text1.Split(',');
        jungs.Text = text1;
        boysLength = boysSplit.Length;
    }

    private void NamesGirls_Completed(object sender, EventArgs e)
    {
        text2 = ((Editor)sender).Text;
        text2.Trim(charsToTrim);
        girlsSplit = text2.Split(',');
        maedels.Text = girlsSplit[0] + "\n" + girlsSplit[1];
        girlsLength = girlsSplit.Length;
    }

1 Ответ

0 голосов
/ 26 декабря 2018

Хорошо, я нашел решение:

Очевидно, что у listView есть проблемы с отображением строковых массивов.Что вы можете сделать, это просто преобразовать string в List.например:

List<string> yourList = yourString.ToList(); 

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