XAML .Net MAUI视图找不到可观察的集合属性

oogrdqng  于 2022-12-07  发布在  .NET
关注(0)|答案(1)|浏览(133)

我有一个包含CollectionView的xaml视图。ItemSource设置为在xaml.cs类中启动的列表。xaml视图找不到绑定属性“Id”。如果从模型中删除ID,则会出现与“ListName”相同的错误。
绑定:在“TestApp.Shared.Items.ViewModels.MainViewModel”上找不到属性“Id.”
我已经搜索了一下,找到了this。但是修复程序并没有解决我的问题。有人知道问题可能是什么吗?我正在使用:

<PackageReference Include="CommunityToolkit.Mvvm" Version="8.0.0"/>

代码:
第一个

m3eecexj

m3eecexj1#

您还必须在DataTemplate内部的Grid上设置x:DataType="viewmodel:MainViewModel",但现在是针对ListModel对象。
因此:

<DataTemplate>
        <Grid x:DataType="model:ListModel" ColumnDefinitions="2" Padding="0,5">
            <Label Grid.Column="0"  Text="{Binding Id}" />
            <Label Grid.Column="1"  Text="{Binding ListName}" />
         </Grid>
    </DataTemplate>

请注意,ListModel位于不同的名称空间中,因此请相应地添加右侧的xmlns
现在,XAML编译会认为所有的子对象都在使用MainViewModel,因此它(理所当然地)找不到这些属性。
DataTemplate中,作用域发生了变化,在您的情况下是ListModel,我们需要让XAML编译知道。

相关问题