【发布时间】:2023-03-22 23:35:01
【问题描述】:
我有一个造型师的 ObservableCollection 我想使用 CollectionView 在我的视图中显示
这是collectionview的代码
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:viewmodels="clr-namespace:Appointments.ViewModels"
x:DataType="viewmodels:WallViewModel"
x:Class="Appointments.Views.WallPage">
<ContentPage.BindingContext>
<viewmodels:WallViewModel/>
</ContentPage.BindingContext>
<ContentPage.Content>
<StackLayout>
<FlexLayout
JustifyContent="SpaceBetween"
Margin="10, 20">
<Entry
WidthRequest="250"
Placeholder="search.."/>
<Button
Text="Filters"
Command="{Binding OpenFilterCommand}"
/>
</FlexLayout>
<CollectionView
x:Name="StylistList"
BackgroundColor="Transparent"
ItemsSource="{Binding Stylists}">
<CollectionView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding Name}"/>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
造型师模型继承自具有公共属性“名称”的用户模型
public string Name { get; set; }
但是如果我运行这段代码,它会抛出一个错误提示
“绑定:在 WallViewModel 上找不到属性“名称””
但如果我更改该标签以绑定到
<Label Text="{Binding .}"/>
当应用程序运行时,我将其改回
<Label Text="{Binding Name}"/>
它可以正常工作并显示集合中的所有名称
【问题讨论】:
-
尝试删除
x:DataType="viewmodels:WallViewModel"
标签: xaml xamarin.forms