仅在编译时在 DataContext 中找不到 Xamarin VS2022 成员

Ray*_*nan 2 c# xaml xamarin visual-studio-2022

(请注意,我正在注释掉从 开始的所有内容<!--<ListView.ItemTemplate>

如果我取出注释块并尝试运行代码,我会收到编译器错误“

在 DataContext XFC0045 绑定中找不到成员:在“ViewModels.FlightViewModel”上找不到属性“SyllabusNumber”

注意:不仅仅是 SyllabusNumber,任何字段都会失败,但它只会捕获第一个字段。

如果我使用注释掉的代码运行它,应用程序将启动并向我显示 object.tostring() 文本项“models.LessonModel”的列表。当应用程序运行时,我取消注释代码并使用热重载,一切正常。

窗口的 DataContext 设置为 ViewModel,Lessons 是 VM 中的公共 ObservableCollection。与虚拟机的所有其他绑定都工作正常且符合预期。我已将所有访问修饰符设置为“public”。我已经在VS2022和VS2022 Preview中尝试过了。

                    <ListView  x:Name="listView" ItemsSource="{Binding Lessons}" Margin="30" >
                        <!--<ListView.ItemTemplate>
                            <DataTemplate>
                                <ViewCell>
                                    <StackLayout BackgroundColor="#eee" Orientation="Horizontal">
                                        --><!-- <Image Source="{Binding image}" />  --><!--

                                        <StackLayout Orientation="Vertical">
                                            
                                            <StackLayout Orientation="Horizontal">
                                                <Label Text="{Binding SyllabusNumber}" TextColor="#ddd" BackgroundColor="#333" Padding="5,0,5,0"/>
                                                <Label Text="{Binding Name}" TextColor="#333" />
                                            </StackLayout>
                                            
                                            
                                            <Label Text="{Binding Description}" TextColor="#666" />
                                            
                                        </StackLayout>
                                    </StackLayout>
                                </ViewCell>
                            </DataTemplate>
                        </ListView.ItemTemplate>-->
                    </ListView>
Run Code Online (Sandbox Code Playgroud)

Jas*_*son 6

x:DataType从 XAML 中删除该属性。由于某种原因,对整个页面执行此操作会导致具有自己的上下文的模板化控件出现问题。