У меня есть ротатор с ярлыком на каждом слайде, указывающим счет, который будет отображаться там. Я ограничил это свойство, которое выполняет операцию API для получения количества. Я получаю полученное значение, но проблема в том, что при отображении на ярлыке оно видно только частично. Я знаком с правилами обновления элементов пользовательского интерфейса в потоке пользовательского интерфейса с помощью Device.BeginInvokeOnMainThread. Я позвонил с Device.BeginInvokeOnMainThread. Например, если количество равно 25. Но метка показывает только 5. Но когда страница обновляется, выполняется та же команда и отображается правильное значение. Я следовал подходу viewmodel, т.е. у меня есть команда для получения количества. Я вызвал эту команду на странице о появлении события также, чтобы обновить sh счетчик, когда я возвращаюсь на домашнюю страницу даже после начальной загрузки.
Xaml
<Label FontFamily="{StaticResource Montserrat-Regular}"
HorizontalOptions="StartAndExpand"
Text="{Binding Count}"
FontSize="60"
Style="{StaticResource RotorLabelStyle}" />
viewmodel
await Task.Run(async () =>
{
var result = await _matchingTrialsService.GetMatchingTrialsCount();
Device.BeginInvokeOnMainThread(() =>
{
item.Count = $"{result:0}";
});
});
xaml.cs
protected override void OnAppearing()
{
base.OnAppearing();
Device.BeginInvokeOnMainThread(() => {
((PatientHomeViewModel)this.BindingContext).CountDetilsCommand.Execute(null);
});
}
Есть ли у кого-нибудь решение этой проблемы
слева - это усеченный результат
справа - правильный результат