muke77

博客园 首页 新随笔 联系 订阅 管理

要求控制前台Datagrid数据列的动画

Silverlight控制前台Datagrid控件中具体每一行的每一列

后台代码:

通过循环访问DataGrid的数据集List<aaa>,可根据业务来控制前台动画动态显示。

Grid gd = dgTaskList.Columns[0].GetCellContent(aaa) as Grid;
if (gd != null)
{
var res
= (Storyboard)gd.Resources["myStoryboard12"];
res.Begin();
}

前台代码

<data:DataGrid x:Name="xxx" SelectionChanged="xxx_SelectionChanged" SelectionMode="Single" AutoGenerateColumns="False" IsReadOnly="True"  Grid.Column="0" >
                <data:DataGrid.Columns>
                    <data:DataGridTemplateColumn Width="42" Header="xxx">
                        <data:DataGridTemplateColumn.CellTemplate>
                            <DataTemplate >
                                <Grid Visibility="{Binding WarnVisible}">
                                    <Grid.Resources>

                                        <Storyboard x:Name="myStoryboard12">
                                            <DoubleAnimation Storyboard.TargetName="MyAnimation"
                                                  Storyboard.TargetProperty="Opacity"
                                                  From="1.0" To="0.0" Duration="0:0:1" 
                                                  AutoReverse="True" 
                                                  RepeatBehavior="Forever" />
                                        </Storyboard>
                                    </Grid.Resources>
                                    <Image x:Name="MyAnimation" Stretch="None" Source="/xxx;Component/Resources/xxx.png" Grid.Column="1" />
                                </Grid>
                                
                            </DataTemplate>
                        </data:DataGridTemplateColumn.CellTemplate>
                    </data:DataGridTemplateColumn>
                    <data:DataGridTextColumn  Header="Id" Width="70" Binding="{Binding Id}" />
                </data:DataGrid.Columns>
            </data:DataGrid>
posted on 2011-07-08 16:23  muke77  阅读(513)  评论(0)    收藏  举报