Запись привязки данных в формах Xamarin - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь зафиксировать значение записи в текстовом поле Логин в формах Xamarin.Я создал класс с привязкой данных в xmal, но столкнулся с ошибками сборки при компиляции для iOS.Любые указатели очень ценятся.

Login.xmal:

 <Entry x:Name="{Binding Source = AppLoginUsername;}" Placeholder="Username" 
                   Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="3"
                   HorizontalOptions="StartAndExpand" WidthRequest="300" />

FormEntry Class.cs

using System;namespace SGC.Class

{
    public class FormEntryBindings
    {
        public FormEntryBindings()
        {


        }


        public static string AppLoginUserName { get; set; }
    }
}

Home.cs (захватывает имя пользователя, введенное на странице входа в систему и определяет идентификатор клиента)

private async void getCustBalance()
        {
            HttpClient client = new HttpClient();

            string x = FormEntryBindings.AppLoginUserName;

            int custid =  GetCustomerId(x);

Ошибки:

Недопустимомаркер '{' в объявлении члена класса, структуры или интерфейса

Недопустимый термин выражения '='

Определение типа или пространства имен или ожидаемый конец файла

Ответы [ 3 ]

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

Вы не можете связать имя.Имя - это то, что генерирует код, и вы не можете изменить имя переменной на лету.

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

Ну, основываясь на комментариях, я думаю, что ваша проблема в том, что вы можете получить AppLoginUserName на странице входа в систему, однако вы хотите использовать AppLoginUserName на другой странице (другое представление).

Я хотел бы дать вам несколько советов:

1.Вы можете передать значение на страницу, где вы хотите использовать.

2.Использование Xamarin.Essentials: Preferences.

Вы можете сохранить AppLoginUserName после того, как пользователь вошел в систему :

using Xamarin.Essentials;

Preferences.Set("AppLoginUserName", "value");

В другой вид , где вы хотите использовать,Вы можете получить значение:

var myValue = Preferences.Get("AppLoginUserName", "default_value");

И удалить ключ из настроек, когда пользователь вышел из системы или в другой ситуации :

Preferences.Remove("my_key");

Вы можете обратиться: предметы первой необходимости / предпочтения

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

Почему бы вам просто не дать ему имя и связать текст?Например, x: Name = «User» Text = «{Binding AppLoginUsername}» ...

...