Изменение содержимого метки во время выполнения не изменяет размер правильного вида при размещении метки внутри фрейма?

#xamarin.forms

#xamarin.forms

Вопрос:

Я создал пользовательский элемент управления в Xamarin.Формы для моего демонстрационного приложения, в моем элементе управления я использовал пользовательский шаблон для своего представления, шаблон состоит из фрейма -> Сетки -> метки всякий раз, когда я менял текст привязки к меткам, высота представления должна быть изменена, но она не работает как исключение.

Если я удаляю фрейм, он работает нормально, и высота изменяется должным образом. Это происходит в Android, iOS и UWP.

Чтобы уведомить об изменениях размера в шаблоне, подключил templateView.Element.MeasureInvalidated событие, оно появилось правильно, и изменение размера работает нормально для изменений во время выполнения, если фрейм не включен. Если фрейм, включенный в мое событие шаблона данных, не вызван.

Комментарии:

1. Опубликуйте соответствующий код, который будет полезен для решения проблемы.

2. Я столкнулся с такой же проблемой с Xamarin ListView при использовании в нем моего шаблона. github.com/xamarin/Xamarin . Forms/files/5184056/DataTemplate.zip

3. Это ожидаемый результат. Frame — это подкласс TemplateView , который отличается от другого макета, такого как Grid и StackLayout (подкласс VisualElement) . Вы могли бы установить корневой вид ViewCell в виде сетки с одной строкой (автоматически).

4. @LucasZhang-MSFT Спасибо

5. Я опубликую это как ответ с более подробной информацией, не могли бы вы принять его? Это поможет большему количеству людей с подобной проблемой.