Windows 8 Metro アプリの XAML で DataTemplate.DataTriggers を使用しようとすると、かなり奇妙なことが起こります。App.xaml で、データのテンプレートを定義しています。DataTriggers を使用したいのですが、VS2012 エディターで入力すると、次のようなエラーが表示されます。
添付可能なプロパティ 'DataTriggers' がタイプ 'DataTemplate' に見つかりませんでした。
と
メンバー「DataTriggers」が認識されていないか、アクセスできません。
DataTemplate の DataType プロパティを設定しようとすると、同様の問題が発生します。
プロパティ「DataType」がタイプ「DataTemplate」に見つかりませんでした。
ここで何が欠けていますか?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>