我有一个非常简单的MVVM应用程序,在 ListView 的 DataTemplate 中,有一个 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>
1条答案
按热度按时间2cmtqfgy1#
ListView
中的DataTemplates
应该总是使用Cell
,因此您看到的NullReferenceException
与Label
无关,或者它可能是绑定的。将代码更改为: