4

私はこのチュートリアルに従っていますが、奇妙な問題に直面しています。次のような部分があります。

SplitPage.xamlでは、itemListViewのItemTemplateプロパティも更新して、デフォルトのテンプレートであるStandard130ItemTemplateの代わりにDefaultListItemTemplateリソースを使用します。これがitemListViewの更新されたXAMLです。

ただし、私が何をしても、デフォルトのテンプレートでリストが表示されます。これは次のようになります。これが私のコードです:

<DataTemplate x:Key="DefaultListItemTemplate">
    <Grid HorizontalAlignment="Stretch" Width="Auto" Height="110" Margin="10,10,10,0">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <!-- Green date block -->
        <Border Background="{StaticResource BlockBackgroundBrush}" Width="110" Height="110" />
        <ContentControl Template="{StaticResource DateBlockTemplate}" />
        <StackPanel Grid.Column="1"  HorizontalAlignment="Left" Margin="12,8,0,0">
            <TextBlock Text="{Binding Title}" FontSize="26.667" TextWrapping="Wrap"
                   MaxHeight="72" Foreground="#FFFE5815" />
            <TextBlock Text="{Binding Author}" FontSize="18.667" />
        </StackPanel>
    </Grid>
</DataTemplate>

... Page.Resources、および

<ListView
    x:Name="itemListView"
    AutomationProperties.AutomationId="ItemsListView"
    AutomationProperties.Name="Items"
    TabIndex="1"
    Grid.Row="1"
    Margin="-10,-10,0,0"
    Padding="120,0,0,60"
    ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
    IsSwipeEnabled="False"
    SelectionChanged="ItemListView_SelectionChanged"
    ItemTemplate="{StaticResource DefaultListItemTemplate}"/>

...ページのグリッド内。

テンプレートをインライン化し、Standard130ItemTemplateを変更して無駄にしようとしました。ただし、存在しないテンプレートを指定すると、ビルドエラーがスローされます。

私が間違っている可能性のあるアイデアはありますか?

4

1 に答える 1

4

どうやらこれは、画面の解像度が低い (1280x800) ことが原因のようです。Split Page テンプレートが FilledOrNarrow に対して次の VisualState を定義していることに気付きませんでした。

                <ObjectAnimationUsingKeyFrames Storyboard.TargetName="itemListView" Storyboard.TargetProperty="ItemTemplate">
                    <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource Standard80ItemTemplate}"/>
                </ObjectAnimationUsingKeyFrames>

シミュレーターで実行してみましたが、それより広いもの (1366x768 など) は問題なく動作します。

于 2012-07-25T11:41:20.187 に答える