提问人:taqasar-elcam 提问时间:11/7/2023 最后编辑:taqasar-elcam 更新时间:11/7/2023 访问量:42
.NET MAUI 视图无法正确呈现列表
.NET MAUI View does not render properly a List
问:
我是 .NET MAUI 生态系统的新手,我正在开发一个遵循 MVVM 模式的应用程序,我得到了一个绑定到某个视图的视图模型。我得到了一个带有一堆公共字符串属性的自定义模型 MyCustomModel,在我的视图模型中,我得到了一个 MyCustomModel 对象列表,因此在我的视图模型中,此列表属性上的 List<MyCustomModel>CustomList 之类的东西,PropertyChanged 方法都实现了。我得到了一个应该显示 CustomList 内部元素的视图,该视图如下所示:
<ListView ItemsSource="{Binding Containers}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="10">
<Label Text="{Binding Container_Number}" FontAttributes="Bold" />
<Label Text="{Binding Container_Quantity}" />
<Label Text="{Binding Item_Description}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
视图模型中的 CustomList 通过一个函数动态更新,该函数通过 CustomList.Add(MyCustomModel 的新元素)将新对象附加到列表中。发生在我身上的奇怪事情是,如果 CustomList 只有 1 个元素,那么 CustomList.Count == 1 那么视图中的 xaml 会正确显示信息(所以在这种情况下,在视图工作的情况下,我只手动添加一个元素,仅此而已,方法中没有 CustomList 的动态更新)但是一旦 Add 方法通过函数动态添加新对象,那么 Custom.Count 就不再 == 1但是> 1 时,页面是空白的,视图不会呈现适当的数据。
我确定问题出在视图内部,因为调试和执行一些System.Console.Write我看到每次调用该函数时CustomList.Count都会递增,并且CustomList中的信息也正确存储,那么为什么会有这种奇怪的行为?
答:
评论
Containers