0

尝试在我的 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>
4

1 回答 1

4

触发器仅在 WPF 中可用,在任何其他 XAML 平台上均不可用。常见的替代方法是 VisualStates、转换器或对代码进行更改。

于 2013-02-06T15:39:19.607 回答