Resource を作成するときは、その中に 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 の 1 つをガベージ値 (View-Model には存在しない) にバインドしようとしましたが、正常に動作します!