尝试在我的 XAML for Windows 8 Metro 应用程序中使用 DataTemplate.DataTriggers 时发生了一件非常奇怪的事情。在我的 App.xaml 中,我正在为我的数据定义模板。我想使用 DataTriggers,但是当我在 VS2012 编辑器中键入它时,我收到错误消息
在“DataTemplate”类型中找不到可附加属性“DataTriggers”。
和
成员“DataTriggers”无法识别或无法访问。
当我尝试为 DataTemplate 设置 DataType 属性时,会发生类似的问题:
在类型“DataTemplate”中找不到属性“DataType”。
我在这里想念什么?没有这些东西,DataTemplate 可以正常工作,但在我的项目中使用它们仍然会容易得多。这是我的 XAML 的一个简短片段:
<DataTemplate x:Key="MyTemplate" >
<Grid HorizontalAlignment="Left" Width="450" Height="100">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10" />
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Rectangle Grid.Row="0" Grid.RowSpan="3" Stretch="UniformToFill" Width="10">
<Rectangle.Fill>
<SolidColorBrush Color="#FF425400" />
</Rectangle.Fill>
</Rectangle>
<TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="2" />
<TextBlock Text="{Binding Teaser}" Style="{StaticResource SubtitleTextStyle}" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2"/>
<TextBlock Text="{Binding Content}" Style="{StaticResource BasicTextStyle}" Grid.Column="1" Grid.Row="2" />
<TextBlock Text="{Binding TimeDesc}" Style="{StaticResource BasicTextStyle}" Grid.Column="2" Grid.Row="2" />
</Grid>
<DataTemplate.DataTriggers>
</DataTemplate.DataTriggers>
</DataTemplate>