#xaml #xamarin.forms #binding
Вопрос:
У меня есть представление коллекции, в котором источник элементов связан со списком. Содержимое этого списка должно отображаться в тексте Кнопки. Для этого я использую Text={Привязка .}.
Когда страница загружается, я получаю пустые кнопки без текста. Если я затем удалю .
и перепечатаю его в {Привязке .}, текст появится в моих кнопках.
Может ли кто-нибудь объяснить мне это или объяснить, что я делаю не так?
.xaml
lt;StackLayoutgt; lt;CollectionView x:Name="ItemsListView" ItemsSource="{Binding CurrentQuizItem.Answers}" SelectionMode="None"gt; lt;CollectionView.ItemTemplategt; lt;DataTemplategt; lt;StackLayout gt; lt;Button Text="{Binding .}" Command="{Binding Source={RelativeSource AncestorType={x:Type viewmodel:TakeQuizPageViewModel}}, Path=AnswerClickedCommand}" Style="{StaticResource AnswerButton}"/gt; lt;/StackLayoutgt; lt;/DataTemplategt; lt;/CollectionView.ItemTemplategt; lt;/CollectionViewgt; lt;/StackLayoutgt;
Комментарии:
1. что это за тип
CurrentQuizItem.Answers
?2. @Jason Это списокlt;строкаgt;, который используется для предварительного просмотра текста в кнопках
3. это должно сработать. Вы можете попробовать отключить горячую перезагрузку, чтобы узнать, не вызывает ли это проблемы
4. @Джейсон, я уже сделал это, но это не сработало
5. Я исправил это, изменив списокlt;строкаgt; на Списокlt;строкаgt;lt;Ответgt;, где Ответ-это модель с одним свойством внутри, которое является строкой. Вместо привязки с помощью точки я привязываюсь к свойству в модели. Вот как это работает!