Сохраняйте подпредставление, выровненное по верху в .NET MAUI ScrollView [проблема с iOS]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сохраняйте подпредставление, выровненное по верху в .NET MAUI ScrollView [проблема с iOS]

Сообщение Anonymous »


У меня есть ВертикальныйStackLayout внутри ScrollView. Некоторые элементы внутри ВертикальногоStackLayout отображаются/скрываются динамически во время выполнения. Я заметил, что в iOS ВертикальныйStackLayout смещается вниз (меняется позиция Y) внутри ScrollView, когда он прокручивается, и после этого изменяется статус видимости одного из его дочерних элементов. Я считаю, что этого вообще не должно происходить. На Android он ведет себя так, как ожидалось (VerticalStackLayout остается сверху).

Шаги для воспроизведения:
[*]Создайте новое приложение .NET MAUI и измените разметку и код XAML на следующее:
XAML:

Код:

с использованием System.ComponentModel; пространство имен ScrollViewBug; общедоступный частичный класс MainPage: ContentPage { число интервалов = 0; публичная главная страница() { ИнициализироватьКомпонент(); MyStack.PropertyChanged += StackPropertyChanged; } частная пустота StackPropertyChanged (объект? отправитель, PropertyChangedEventArgs e) { если (e.PropertyName == "Y") { System.Diagnostics.Debug.WriteLine($"Этот стек Y: {Math.Floor(MyStack.Y)}"); } } частная пустота OnCounterClicked (отправитель объекта, EventArgs e) { считать++; если (счет == 1) CounterBtn.Text = $"Кликнут {count} раз"; еще CounterBtn.Text = $"Кликнут {count} раз"; MyGrid.IsVisible = !MyGrid.IsVisible; SemanticScreenReader.Announce(CounterBtn.Text); } } Есть ли способ создать собственный обработчик, который сохраняет подпредставления ScrollView на месте (Y=0) при изменении ContentSize подпредставления?

Я пытался перехватить изменения в ScrollView ContentSize с помощью специального обработчика и заменить фрейм подпредставления (изменив его положение Y на ноль), но это не дало никакого эффекта.

Я использую Visual Studio для Mac 17.6.6 (сборка 408) + .NET 8 RC2.
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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