Я разрабатываю приложение на .NET Maui и тестирую его на телефоне Android 14. Когда я запускаю его в режиме отладки, данные отображаются правильно, но в режиме выпуска данные в пользовательском представлении ClassNameView и в CollectionView пуст, я знаю, что данные загружаются правильно, по крайней мере, для CollectionView, потому что строк столько, сколько должно, но данные пусты, если я помещаю XML пользовательское представление непосредственно на странице, тогда данные отображаются так, как должны.
Чего мне не хватает?
ObservationHistoryPage.xaml
ObservationHistoryPageViewModel.cs
using SchoolApp.Models.Observations;
namespace SchoolApp.ViewModels
{
[QueryProperty(nameof(Observation), nameof(Observation))]
[QueryProperty(nameof(ClassName), nameof(ClassName))]
public partial class ObservationHistoryPageViewModel : BaseViewModel
{
private readonly ObservationsService _observationsService;
[ObservableProperty]
ObservationStudentComplete _observation;
[ObservableProperty]
string _className;
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(ObservationCount))]
List _dates=new List();
public int ObservationCount => Dates.Count;
public ObservationHistoryPageViewModel(ObservationsService observationsService)
{
_observationsService = observationsService;
}
[RelayCommand]
public async Task NavigatedTo()
{
await LoadInfo();
}
[RelayCommand]
public async Task LoadInfo()
{
SetPageInLoadingState();
var result = await _observationsService.GetObservationHistory(Selected.Student.IdAlumno, Selected.Organization.IsParent, Observation);
SetDisplayAndErrorsFromResult(result);
Dates = result.Item ?? new List();
SetPageInFinishLoadingState();
}
[RelayCommand]
public async Task Close()
{
await Shell.Current.GoToAsync("..");
}
}
}
Вот пользовательское представление
ClassNameView.xaml
ClassNameView.xaml.cs
namespace SchoolApp.Custom;
public partial class ClassNameView : Grid
{
public static readonly BindableProperty ClassNameProperty = BindableProperty.Create(nameof(ClassName)
, typeof(string)
, typeof(ClassNameView)
, default(string)
, propertyChanged: (bindable, value, newValue) => ((ClassNameView)bindable).ClassName = (string)newValue);
public string ClassName
{
get => (string)GetValue(ClassNameProperty);
set => SetValue(ClassNameProperty, value);
}
public ClassNameView()
{
InitializeComponent();
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... lease-mode
Привязка .NET Maui отображает данные в режиме отладки, но не в режиме выпуска. ⇐ C#
Место общения программистов C#
1730980731
Anonymous
Я разрабатываю приложение на .NET Maui и тестирую его на телефоне Android 14. Когда я запускаю его в режиме отладки, данные отображаются правильно, но в режиме выпуска данные в пользовательском представлении ClassNameView и в CollectionView пуст, я знаю, что данные загружаются правильно, по крайней мере, для CollectionView, потому что строк столько, сколько должно, но данные пусты, если я помещаю XML пользовательское представление непосредственно на странице, тогда данные отображаются так, как должны.
Чего мне не хватает?
[b]ObservationHistoryPage.xaml[/b]
[b]ObservationHistoryPageViewModel.cs[/b]
using SchoolApp.Models.Observations;
namespace SchoolApp.ViewModels
{
[QueryProperty(nameof(Observation), nameof(Observation))]
[QueryProperty(nameof(ClassName), nameof(ClassName))]
public partial class ObservationHistoryPageViewModel : BaseViewModel
{
private readonly ObservationsService _observationsService;
[ObservableProperty]
ObservationStudentComplete _observation;
[ObservableProperty]
string _className;
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(ObservationCount))]
List _dates=new List();
public int ObservationCount => Dates.Count;
public ObservationHistoryPageViewModel(ObservationsService observationsService)
{
_observationsService = observationsService;
}
[RelayCommand]
public async Task NavigatedTo()
{
await LoadInfo();
}
[RelayCommand]
public async Task LoadInfo()
{
SetPageInLoadingState();
var result = await _observationsService.GetObservationHistory(Selected.Student.IdAlumno, Selected.Organization.IsParent, Observation);
SetDisplayAndErrorsFromResult(result);
Dates = result.Item ?? new List();
SetPageInFinishLoadingState();
}
[RelayCommand]
public async Task Close()
{
await Shell.Current.GoToAsync("..");
}
}
}
Вот пользовательское представление
[b]ClassNameView.xaml[/b]
[b]ClassNameView.xaml.cs[/b]
namespace SchoolApp.Custom;
public partial class ClassNameView : Grid
{
public static readonly BindableProperty ClassNameProperty = BindableProperty.Create(nameof(ClassName)
, typeof(string)
, typeof(ClassNameView)
, default(string)
, propertyChanged: (bindable, value, newValue) => ((ClassNameView)bindable).ClassName = (string)newValue);
public string ClassName
{
get => (string)GetValue(ClassNameProperty);
set => SetValue(ClassNameProperty, value);
}
public ClassNameView()
{
InitializeComponent();
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79164492/net-maui-binding-displays-data-on-debug-mode-but-not-on-release-mode[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия