XAML MAUI标签数据绑定引发NullReferenceException,但TextCell正常工作

oyjwcjzk  于 2023-09-28  发布在  其他
关注(0)|答案(1)|浏览(112)

我有一个非常简单的MVVM应用程序,在 ListViewDataTemplate 中,有一个 Label 控件绑定到我的 Label 属性(一个字符串)。

<ListView
    ItemsSource="{Binding MenuItems}"
    SelectedItem="{Binding SelectedMenuItem}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Label Text="{Binding Label}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

当我启动应用程序时,抛出NullReferenceException:

即使我不使用任何绑定,应用仍然会抛出NullReferenceException:

<ListView.ItemTemplate>
    <DataTemplate>
        <Label Text="SomeText" />
    </DataTemplate>
</ListView.ItemTemplate>

但是如果我使用 TextCell 替换 Label,一切都很好:应用程序启动,绑定正在工作。

<ListView
    ItemsSource="{Binding MenuItems}"
    SelectedItem="{Binding SelectedMenuItem}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <TextCell Text="{Binding Label}" />
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>
2cmtqfgy

2cmtqfgy1#

ListView中的DataTemplates应该总是使用Cell,因此您看到的NullReferenceExceptionLabel无关,或者它可能是绑定的。
将代码更改为:

<ListView.ItemTemplate>
    <DataTemplate>
        <ViewCell>
            <Label Text="{Binding Label}" />
        </ViewCell>
    </DataTemplate>
</ListView.ItemTemplate>

相关问题