0

所以我有这个 XAML:

<ListBox Height="626" HorizontalAlignment="Left" Margin="6,6,0,0" Name="ItemList" VerticalAlignment="Top" Width="444">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Vertical">
                <Grid Height="50">
                    <Grid.Resources>
                        <Storyboard x:Name="ItemCountBGImageShow">
                            <DoubleAnimation Storyboard.TargetName="ItemCountBGImage"
                                Storyboard.TargetProperty="Opacity"
                                From="0" To="100" Duration="0:0:0.3" />
                        </Storyboard>
                    </Grid.Resources>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="31" />
                        <ColumnDefinition Width="300" />
                        <ColumnDefinition Width="100" />
                    </Grid.ColumnDefinitions>

                    <Image Opacity="0" Grid.ColumnSpan="1" Name="ItemCountBGImage" Width="31" Height="31" Source="/CafeKonto.wp7;component/Images/table_quantity.png" />
                    <TextBlock Grid.ColumnSpan="2"  FontSize="25" Name="ItemName" Foreground="White" Tap="ItemName_Tap" Text="{Binding ItemName}" Margin="35,0,0,0" />
                    <TextBlock Grid.ColumnSpan="3" TextAlignment="Right" FontSize="25" Name="ItemPrice" Foreground="White" Text="{Binding ItemPriceFormated}" />
                </Grid>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我的问题是,我无法从 C# 启动动画。ItemCountBGImageShow 在后面的代码中是不可见的。我在这里做错了什么?

4

1 回答 1

1

您不能像这样访问元素的资源字典中的项目。

给网格命名,然后使用它的 Resources 属性访问它。

例子:

XAML:

<Grid Name="Grid1" Height="50"> 

代码:

Storyboard ItemCountBGImageShow = (Storyboard)Grid1.Resources["ItemCountBGImageShow"];
于 2012-07-06T18:49:38.273 回答