0

私は次のGridViewを持っています

<GridView
        x:Name="itemGridView"
        AutomationProperties.AutomationId="ItemGridView"
        AutomationProperties.Name="Grouped Items"
        Grid.RowSpan="2"
        Margin="0,-14,0,0"
        Padding="0,0,0,50"
        ItemsSource="{Binding Source={StaticResource groupedItemsViewSource}}"
        ItemTemplate="{StaticResource Standard250x250ItemTemplate}"
        SelectionMode="None"
        IsSwipeEnabled="false"
        IsItemClickEnabled="True"
        ItemClick="ItemView_ItemClick">

        <GridView.ItemsPanel>
            <ItemsPanelTemplate>                        
                 <VirtualizingStackPanel x:Name="ItemGridViewVirtualizingStackPanel" Margin="120,0,120,0" Orientation="Horizontal"/>
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>
...

マージン<VisualState x:Name="FullScreenPortrait">を変更しようとしています

<ObjectAnimationUsingKeyFrames Storyboard.TargetName="ItemGridViewVirtualizingStackPanel" Storyboard.TargetProperty="Margin">
    <DiscreteObjectKeyFrame KeyTime="0" Value="100,0,20,0"/>
</ObjectAnimationUsingKeyFrames>

しかし、エラーが表示されますCannot resolve TargetName ItemGridViewVirtualizingStackPanel.

では、VirtualizingStackPanel の Margin を変更するにはどうすればよいでしょうか。

4

1 に答える 1

0

でから作成されたコントロールを参照することはできません。これItemTemplateStoryBoard、使用した名前がItemTemplateの名前であり、テンプレートから生成されたコントロールではないためです。

この状況では、コード ビハインドの向きの変更に反応して C# でコントロールの余白を手動で変更するか、ビュー モデルのプロパティに をバインド、向きが変更されたときにそれに応じてそのプロパティを更新します。変化します。MarginVirtualizingStackPanel

選択するソリューションは、ビュー モデルに入れたいプレゼンテーションの知識に依存する場合があります。

于 2013-06-04T18:18:57.890 に答える