У меня проблема с данными, которые не связываются правильно на странице сведений, когда я щелкаю по ListView с помощью кнопки.ListView отлично связывается, и объект передается на страницу сведений.Идентификатор объекта читается, и из API вызывается полная версия объекта и устанавливается новый экземпляр объекта.Когда я добавляю точку останова, полный объект доступен, но метки в представлении не заполняются.Вот ViewModel:
DetailsViewModel.cs
public class DetailsViewModel
{
public Deal Deal { get; set; }
public int DealId { get; set; }
public DetailsViewModel(int id)
{
Deal = new Deal();
DealId = id;
}
public async void GetDeal()
{
var deal = await Deal.GetDeal(DealId);
if(deal != null)
{
Deal = deal;
}
}
}
Код выглядит следующим образом:
DetailPage.Xaml.cs
DetailsViewModel viewModel;
int dealId;
public DetailPage(int id)
{
InitializeComponent();
dealId = id;
viewModel = new DetailsViewModel(dealId);
BindingContext = viewModel;
}
protected override void OnAppearing()
{
base.OnAppearing();
viewModel.GetDeal();
}
Ифайл Xaml имеет вид
DetailPage.Xaml
<ContentPage.Content>
<ScrollView>
<StackLayout x:Name="detailsLayout">
<Label Text="{Binding Deal.Name}" />
</StackLayout>
</ScrollView>
</ContentPage.Content>
Когда я ставлю точку останова в Deal = deal на DetailsViewModel, объект Deal существует и имеет правильные данные, но я просто получаю пустоеэкран.Я пытался использовать Labels с Text = "{Binding Name}" и Text = "{Binding Deal.Name}".
Я также пытался вручную создать сделку в функции GetDeal ViewModel, но все еще ничего не происходит.оценка.