у меня есть следующее
<CollectionView Margin = "5" ItemsSource = "{Binding Subjects}">
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation = "Vertical" Span = "2" />
</CollectionView.ItemsLayout>
<CollectionView.EmptyView>
<ContentView>
<Label Text = "No subjects entered yet..." />
</ContentView>
</CollectionView.EmptyView>
<CollectionView.ItemTemplate>
<DataTemplate>
<Border MaximumWidthRequest = "300">
<Border.StrokeShape>
<RoundRectangle CornerRadius = "10" />
</Border.StrokeShape>
<Border.GestureRecognizers>
<TapGestureRecognizer Command = "{Binding Source = {RelativeSource AncestorType = {x:Type vm:MainPageViewModel}}, Path=DeleteSubjectCommand}" CommandParameter = "{Binding .}" />
</Border.GestureRecognizers>
<Label Margin = "5" Text = "{Binding .}" />
</Border>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
Проблема в том, что <Label Margin = "5" Text = "{Binding .}" />
в выпуске моего приложения .NET MAUI для Android пуст, а в отладке он заполнен, и распознаватель жестов работает.
Когда я добавляю элементы в список, появляется правильное количество элементов, поэтому я думаю, что что-то происходит с меткой, выделенной выше.
Как мне это решить?
* Если вы делаете ... Text = "This is a test" />
, отображается ли текст? * Если вы удалите границу и ее распознаватель, поэтому шаблон данных будет просто <Label ... />
, отображается ли связанный текст? * Добавить код C#: объявление субъектов, код, который устанавливает субъекты или добавляет их элементы * этот код вызывается из конструктора? При появлении? внутри метода async
?
Я сделал второе. И все равно не появится. Это тест появится в режиме отладки, а не в режиме выпуска.
Заменять:
<DataTemplate>
С:
<DataTemplate x:DataType = "{x:Type x:String}>
Не спрашивай меня почему.
Очень хотелось бы спросить почему😂
@TanakaMawere Я не знаю. У меня уже есть несколько выпусков, и я никогда раньше не сталкивался с вашей проблемой. Что я заметил, так это то, что я всегда указываю тип данных своих шаблонов. Удалены типы данных. Протестировано в выпуске, некоторые из моих CollectionViews стали пустыми. Установил фон, оказывается они есть, элементы не грузятся. Изменить на отладку — элементы снова отображаются. Я не мог в это поверить.
Пожалуйста, просто попробуйте.
Эти «Субъекты» — это ObservableCollection со строкой, используемой в качестве универсального типа, верно? Есть много проблем с CollectionView, но публикация кода C# вокруг вашего XAML не помешает.