collectionview 相关问题

Marionette CollectionView通过指定的childView View对象呈现每个对象来显示Backbone集合对象。

如何在毛伊岛实现两个CollectionView之间的拖放

我正在尝试在 Maui 项目中的两个 CollectionView 之间实现拖放。 在我的示例中,我在第一个 CollectionView 中有一个歌曲集合,在第二个集合中有一个播放列表组...

回答 1 投票 0

CollectionView 无法按索引滚动到所需的组

为什么当我尝试导航到特定组时,我总是被发送回第一个组? 如果我找到一个组,并在其中找到我需要的实例,并将其传递给 ScrollTo,那么搜索就会起作用

回答 1 投票 0

如何实现具有垂直组和水平项目的 .Net Maui CollectionView 布局

我正在尝试在应用程序中实现某种外观,以分类方式显示项目。 据我所知,CollectionView 允许我们准确地做到这一点,并且我已经成功了......

回答 1 投票 0

在 dotNET MAUI 的一页上使用多个集合视图处理滚动和高度

我有一个水平方向和一个垂直方向的 CollectionView,它们都放置在 ScrollView 中。垂直方向的视图变得仅与其中第一个项目一样高,并且它滚动......

回答 1 投票 0

为什么 CollectionView 中的复选框大小不同?

我找不到 .NET MAUI 奇怪行为的解决方案。 我正在利用集合视图来描绘问题的不同数量的答案。每个答案前面都有一个复选框。

回答 1 投票 0

在.NET MAUI中为CollectionView正确设置RadioButtonGroup

在 .NET MAUI 应用程序中,我使用 CollectionView 来显示特定的 ItemTemplate,其中还包括 RadioButtons。然而,互斥状态并未实现,因为不知何故......

回答 1 投票 0

collectionview包含一个编辑器,如何通过编辑器中的更改来更改ViewModel中的文本#maui

当用户在编辑器中更改文本时,我需要将更改显示在 private MessageModel 消息模型,与添加新消息的按钮相同 当用户在编辑器中更改文本时,我需要将更改显示在 私有MessageModel消息模型,与添加新消息的按钮相同 <CollectionView ItemsSource="{Binding MessageModels.messege}" x:Name="collectionView"> <CollectionView.Header> <HorizontalStackLayout HorizontalOptions="Center" > <Label TextColor="Black" Text="Messages" VerticalOptions="Center"></Label> <Button MinimumWidthRequest="10" MinimumHeightRequest="10" Command="{Binding addNewmessageCommand}" Text="Add New message"></Button> </HorizontalStackLayout> </CollectionView.Header> <CollectionView.ItemTemplate> <DataTemplate> <HorizontalStackLayout Padding="2"> <Editor AutoSize="TextChanges" Text="{Binding . }" WidthRequest="300" FontSize="16" TextColor="#1565C0" /> <Button Background="Red" Command="{Binding Source={x:Reference collectionView}, Path=BindingContext.DeleteCommand}" CommandParameter="{Binding .}" Text="X" /> </HorizontalStackLayout> </DataTemplate> </CollectionView.ItemTemplate> </CollectionView> 我尝试使用 INotifyPropertyChanged,但也没有帮助 public partial class MessageModelEllementVM : CommunityToolkit.Mvvm.ComponentModel.ObservableObject { AddNewWayD addNewWayD; public event PropertyChangedEventHandler PropertyChanged; public MessageModelEllementVM( MessageModel messageModel, List<string> ways,int gridPosition, AddNewWayD addNewWay) { this.addNewWayD = addNewWay; this.messageModels = messageModel; GridPosition = gridPosition; photoURL = "фото не выбрали"; dialogimage = new Image(); messageModels.Plot_twist.ToList().ForEach(i => plot_twist += "," + i.ToString()); answers = AnswerTextConverter.Convert(messageModels.AnswerText, ways); } public MessageModelEllementVM() { this.messageModels = new MessageModel(); dialogimage = new Image(); } private int GridPosition; [ObservableProperty] public ObservableCollection<AnswerText> answers; [ObservableProperty] Image dialogimage; FileResult? uploadedFile; [ObservableProperty] string plot_twist; [ObservableProperty] private MessageModel messageModels; [ObservableProperty] string photoURL; [RelayCommand] public void AddWay() { //addNewWayD(GridPosition,messageModels); } [RelayCommand] async void AddImge() { uploadedFile = await MediaPicker.PickPhotoAsync(); if (uploadedFile != null) { dialogimage.Source= uploadedFile.FullPath; } } [RelayCommand] void addNewmessage() { messageModels.messege.Add(string.Empty); } [RelayCommand] private void Delete(string text) { foreach (var item in messageModels.messege) { if (item == text) { messageModels.messege.Remove(item); break; } } } } Code MessageModel 我也尝试在那里添加事件,但没有帮助 public class MessageModel{ public MessageModel() { Plot_twist = new List<int>(); messege = new ObservableCollection<string>(); AnswerText = new ObservableCollection<(string Answer, List<int> way)>(); } public List<MessageModel> messageModel = new List<MessageModel>(); public List<int> Plot_twist { get; set; } //номер диалога по типу ["0","1","1"] - глава 0 подветка 1 в подветке подветка 1 public ObservableCollection<string> messege { get; set; } //сообщения от Алисы (массив чтобы несколько подряд ) public string photoURL { get; set; } public ObservableCollection<(string Answer, List<int> way)> AnswerText; //way - адрес на продолжение }``` I need the data to change, but I'm still a beginner and I don't understand how to do it. can you please explain how it works and what ways it can be fixed 您的编辑器的 Text 属性绑定到纯字符串。数据绑定不会更改对象本身(在您的情况下是字符串),它们会更改对象的属性。这就是为什么您需要绑定到某种属性。 解决此问题的最简单方法是为您的消息实现一个带有字符串属性的包装类: public class Message { //note that binding to object's fields also doesn't work: //this works public string Text { get; set; } //this - does not! //public string Text; public Message(string text) { Text = text; } } 并且像这样使用它 public ObservableCollection<Message> messege { get; set; } 在 MessageModelElementVM 中,并且 <Editor Text="{Binding Text }" ... /> 在 xaml 中 此外,无需在 foreach 命令中使用 Delete。离开 <Button CommandParameter="{Binding .}" ... /> 照原样并将命令更改为: [RelayCommand] private void Delete(Message msg) { messageModels.messege.Remove(msg); } 这将删除您在 CommandParameter 中传递的确切对象

回答 1 投票 0

collectionview 中的复选框列表需要很长时间才能加载

我需要在屏幕上显示复选框列表。当我尝试将其添加到集合视图中时,加载需要很长时间。 下面是源代码。我在“我要做的项目”中只添加了一些项目...

回答 1 投票 0

使用.net maui,从列表创建CollectionView时,如何访问另一个列表以根据ID提取详细信息?

我对 xaml 和 .net maui 还很陌生,但我真的不知道该使用哪些搜索词。我想用集合视图在 xaml 中列出今天的任务通知。我想要这份清单,当

回答 1 投票 0

为什么我的 CollectionView 在 .NET MAUI 中添加重复的项目?

为什么相同的项目会重复添加到我的 CollectionView 中? 到底发生了什么: 每次加载时(滚动时),我想再加载 5 个项目到我的 CollectionView 中,但发生的情况是这样的:

回答 1 投票 0

点击集合视图项目中的图像即可获取该项目的属性

美好的一天, 我正在使用集合视图来查看 Xamarin Forms 中的用户地址列表,并且数据模板中有一个图像,供用户点击以编辑任何所需的地址。请参阅下面的代码。我的

回答 2 投票 0

如何从Observable RxSwift 设置collectionView sizeForItemAt

在尝试使集合视图单元格的高度动态化时,我遇到了一些问题。高度数据位于我的枚举 Observable<[MovieSection]> 数组内。据我所知,RxSwift 不...

回答 1 投票 0

需要有关集合视图中的 MAUI 绑定的一些帮助

我需要一些有关 TapGestureRecognizer 中绑定的帮助。我有以下代码来创建 CollectionView。我在该视图中创建一个 TapGestureRecognizer,并希望命令参数 t...

回答 1 投票 0

使 CollectionView 单元格中的某个视图可点击

我想使collectionView单元格中的某些视图可点击。 ViewController的代码 类 ViewController: UIViewController { 让 collectionView:UICollectionView = { 让我们看看=

回答 1 投票 0

将 ViewModel 属性绑定到 CollectionView 内的 SwipeView 控件

我正在尝试实现一个ContentView,它代表一个项目列表,并允许通过单击按钮来操作这些项目(删除、编辑...)。现在我正在努力让它看起来漂亮又f...

回答 1 投票 0

使用 RemainingItemsCommand 增量加载数据 Collectionview MAUI

我有一个带有 CollectionView 的页面并且工作正常,但目前,我正在尝试实现 RemainingItemsThresholdReachedCommand 但没有成功。问题是命令是连续的

回答 2 投票 0

如何在集合视图中分隔行,使用框架来显示项目

早上好,同事们,我有一个显示表格列表的视图,我使用 CollectionView 作为数据容器,为了使其外观更好,我在每篇文章中使用框架,所以......

回答 1 投票 0

.Net Maui Shell 导航,是否可以像 NavigationPage 一样保留先前的页面状态(旧方式)?

我有一个带有 CollectionView 控件的列表页面,当单击项目时,它会打开详细信息页面,当在详细信息页面上按下后退按钮时,我会丢失列表页面上的 scoll 位置! 使用 Shell 导航...

回答 1 投票 0

MAUI <CollectionView.EmptyView> 不会显示,直到手动更改文本

我的collectionView中有这段代码: 我的collectionView中有这段代码: <RefreshView> <Grid> <Grid.RowDefinitions> <RowDefinition Height="*" /> <RowDefinition Height="60" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <CollectionView ItemsSource="{Binding Comments}" SelectionMode="Single"> <CollectionView.ItemsLayout> <LinearItemsLayout Orientation="Vertical" ItemSpacing="5" /> </CollectionView.ItemsLayout> <CollectionView.ItemTemplate> <DataTemplate x:DataType="model:Comment"> <Frame Style="{StaticResource CardView}" CornerRadius="10"> <Grid RowDefinitions="Auto, Auto, Auto, *" ColumnDefinitions="80, 250" ColumnSpacing="5"> ... </Grid> </Frame> </DataTemplate> </CollectionView.ItemTemplate> <CollectionView.EmptyView> <ContentView> <StackLayout> <Label Text="Some text here" HorizontalOptions="Fill" HorizontalTextAlignment="Center" /> </StackLayout> </ContentView> </CollectionView.EmptyView> </CollectionView> <Button ... </Button> <Button ... </Button> </Grid> </RefreshView> 奇怪的行为......当我用空集合启动程序时,当然,我看到......什么也没有。没有标签。 运行时,我对文本进行了一些更改,无论如何,我在末尾插入一个*,例如:Text =“此处有文本*”,瞧,突然我的文本在我的屏幕中间 - 预期的行为! 我在模拟器和Android本地设备中都尝试过。同样的行为。 我还尝试在运行时设置该标签的标题 - 没有骰子。 我尝试过使用图像而不是标签。同样的事情也会发生。 一旦我对 EmptyView 的内容进行了更改,无论更改如何,EmptyView 都会在会话的剩余时间内显示其内容。如果我不这样做,它将永远保持空白。 有什么办法解决这个问题吗? 谢谢你。亚历克斯. 这可能对你的情况没有帮助,但我也在努力让 EmptyView 开箱即用地正常工作。根据您的上一条评论,我能够通过在 OnNavigedTo 事件处理程序中调整 CollectionView 的高度和宽度来显示空内容。 (当我单步执行代码时,我注意到两个属性都已初始化为 -1。) 不幸的是,此修复具有副作用,当我将项目添加到列表中时,我的 CollectionView 无法正确调整大小。 截至今天(3/24/23)仍有一个关于此问题的开放 Github 票证: Android - CollectionView EmptyView 不可见 #10819 根据另一张票证,我找到了一种解决方法,通过将 CollectionView 包装在 RefreshView 中来解决 EmptyView 问题。我实际上并不想要刷新功能,所以我像这样禁用了它: <RefreshView IsEnabled="False"> <CollectionView ItemsSource="{Binding FavoriteLocations}"> <CollectionView.EmptyView> <ContentView> . . . </ContentView> </CollectionView.EmptyView> </CollectionView> </RefreshView> 值得庆幸的是,即使未启用 RefreshView,该技巧也能发挥作用。 编辑(5/2/23):自从这篇文章以来,我发现 RefreshView hack 在放置在另一个滚动条内部时不起作用。我在一个滚动中显示了多个集合,这种模式完全破坏了我的 CollectionViews。 最终,我们废弃了所有 CollectionView 元素并采用以下模式: <StackLayout BindableLayout.ItemsSource="{Binding MyList}"> <BindableLayout.EmptyView> <Border BackgroundColor="White" Margin="0,5,0,0"> <Label Text="No items are available." /> </Border> </BindableLayout.EmptyView> <BindableLayout.ItemTemplate> <DataTemplate> <!--Display collection items as normal here--> </DataTemplate> </BindableLayout.ItemTemplate> </StackLayout> EmptyView 开箱即用,没有任何不必要的解决方法。我建议使用 BindableLayouts,直到 MAUI 解决 CollectionViews 周围的所有错误。 我找到了一个非常简单的解决方法。只需将 CollectionView 标记中的 EmptyView 属性设置为空白字符串,然后 EmptyViewTemplate 标记之间的任何内容都会显示出来。 <CollectionView IsVisible="{Binding IsVisible, Mode=TwoWay}" ItemsSource="{Binding MyCollection, Mode=TwoWay}" SelectionMode="Single" VerticalScrollBarVisibility="Default" > EmptyView="" > SelectedItem="{Binding SelectedItem}" SelectionChanged="ListView_OnItemTapped"> <CollectionView.ItemTemplate> <DataTemplate> <Grid> <controls:MyListControl /> </Grid> </DataTemplate> </CollectionView.ItemTemplate> <CollectionView.EmptyViewTemplate> <DataTemplate> <Label Text="No Results to display" TextColor="LightGray" HorizontalTextAlignment="Center" FontSize="55" FontAttributes="Bold" /> </DataTemplate> </CollectionView.EmptyViewTemplate> </CollectionView>

回答 2 投票 0

MAUI CollectionView 标题未显示

学习 MAUI,来自有限的 WPF 经验。 我有一个包含 2 列数据的 CollectionView。我想在每列数据上放置一个标题。以下代码不显示任何标题...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.