所以我有这个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在后面的代码中不可见。我在这里做错了什么?
答案 0 :(得分:1)
您无法像这样访问元素资源字典中的项目。
为网格命名,然后使用它的Resources属性访问它。
示例:
XAML:
<Grid Name="Grid1" Height="50">
代码:
Storyboard ItemCountBGImageShow = (Storyboard)Grid1.Resources["ItemCountBGImageShow"];