当我创建资源时,我们在其中指定 DataType:
<Window.Resources>
<DataTemplate x:Key="StudentView"
DataType="this:StudentData">
<TextBox Text="{Binding Path=StudentFirstName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Grid.Row="1"
Grid.Column="2"
VerticalAlignment="Center" />
<TextBox Text="{Binding Path=StudentGradePointAverage}"
Grid.Row="2"
Grid.Column="2"
VerticalAlignment="Center" />
</DataTemplate>
<Window.Resources>
并且在绑定时:
<ItemsControl ItemsSource="{Binding TheStudents}"
ItemTemplate="{StaticResource StudentView}">
那么我们为什么要使用 DataType,即使我删除了 DatType ,我的示例运行良好。它是否限制了某些类型,可以在 DataTemplete 中?
但是我尝试将其中一个 TextBox 与垃圾值(视图模型中不存在)绑定,它工作正常!