Текст привязан к объекту, но ничего не отображается?C#

Место общения программистов C#
Ответить
Anonymous
 Текст привязан к объекту, но ничего не отображается?

Сообщение Anonymous »

У меня есть привязка к текстовому полю следующим образом: в коде этой страницы мы используем внедрение зависимостей для привязки к соответствующей модели представления, например:

Код: Выделить всё

public AppointmentPendingResponse(BookingViewModel viewModel): base(viewModel)
{
InitializeComponent();
BindingContext = viewModel;
}
эта модель представления, к которой мы привязываемся, наследует от другой базовой модели представления, например этой...

Код: Выделить всё

public partial class BookingViewModel : BaseViewModel
...который, в свою очередь, объявляется следующим образом:

Код: Выделить всё

public abstract partial class BaseViewModel : ObservableObject, IQueryAttributable, INotifyPropertyChanged
в базовой модели просмотра мы реализуем следующее, чтобы использовать inotifypropertychanged:

Код: Выделить всё

public event PropertyChangedEventHandler PropertyChanged;

protected bool SetProperty(ref T backingStore, T value,
[CallerMemberName] string propertyName = "",
Action onChanged = null)
{
if (EqualityComparer.Default.Equals(backingStore, value))
return false;

backingStore = value;
onChanged?.Invoke();
OnPropertyChanged(propertyName);
return true;
}

protected void OnPropertyChanged([CallerMemberName] string propertyName = "")
{
var changed = PropertyChanged;
if (changed == null)
return;

changed.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
в модели bookingviewmodel мы заполняем свойство CurrentBooking следующим образом:

Код: Выделить всё

CurrentBooking = (BookingModel)selected;
результат в формате JSON выглядит следующим образом:

Код: Выделить всё

{\"FullName\":\"LAWMAN\",\"IdentityNo\":\"123\",\"Relation\":\"SELF\"}
тот факт, что я могу получить данные в формате JSON, означает, что значение CurrentBooking не должно быть нулевым. так почему же текст моей метки не заполняется? я не уверен, чего мне здесь не хватает.
Изменить: хорошо, я изменил модель бронирования (тип объекта CurrentBooking), чтобы реализовать ObservableObject:

Код: Выделить всё

public partial class BookingModel: ObservableObject
{
[ObservableProperty] private string _FullName;
и полное имя по-прежнему не отображается.
Редактировать 2: @klaus-gütter да, вот изображение:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/783 ... -displayed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»