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

您不能引用从 中的ItemTemplate中创建的控件StoryBoard,因为您使用的名称是ItemTemplate的名称,而不是从模板生成的控件。

在这种情况下,我要么对后面代码中的方向变化做出反应,并在 C#手动更改控件的边距,要么我会将的变化。MarginVirtualizingStackPanel

您选择的解决方案可能取决于您希望在视图模型中放入多少演示文稿知识。

于 2013-06-04T18:18:57.890 回答