4
當我創建一個資源,我們指定它裏面的數據類型:爲什麼要使用DataTemplate.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}">
那麼,爲什麼我們使用的數據類型,即使我刪除DatType,我的示例運行良好。是否限制某些類型,可以在DataTemplete中?
但我試圖綁定一個TextBox與垃圾值(不存在的視圖模型),它工作正常!
一個優點是知道預期的數據上下文類型允許對綁定路徑是否有效進行靜態驗證。這也是未來開發者對DataTemplate意圖的文檔暗示。 – 2012-07-11 14:24:04