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

Silverlight2.0中DataGrid模板

Posted on 2008-05-23 09:22  cuit  阅读(965)  评论(1)    收藏  举报
 1  void CreditList_PreparingRow(object sender, DataGridRowEventArgs e)
 2        {
 3           
 4            TextBlock btn = this.CreditList.Columns[3].GetElement(e.Row) as TextBlock;
 5            if (btn != null)
 6            {
 7                DataList dlist = e.Row.DataContext as DataList;
 8                double favl = 0;
 9                double.TryParse(dlist.fvalue, out favl);
10                createShowColor(btn,favl);  
11            }

12            
13        }

14        private void createShowColor(TextBlock  target,double val)
15        {
16            
17           
18            Color cf = Colors.Yellow, ct = Colors.Green;
19            if (val > 0 && val < 60//闪红
20            {
21                cf = Colors.Yellow;
22                ct = Colors.Red;
23            }

24            else if (val >= 60 && val < 80)//闪黄
25            {
26                cf = Colors.Red;
27                ct = Colors.Yellow;
28            }

29           
30
31            Storyboard sb = new Storyboard();
32            sb.RepeatBehavior = RepeatBehavior.Forever;
33
34            ColorAnimation ca = new ColorAnimation();
35            ca.AutoReverse = true;
36             
37            ca.From = cf;
38            ca.To = ct;
39            ca.Duration = new Duration(new TimeSpan(0001));
40            Storyboard.SetTarget(ca, target);
41            Storyboard.SetTargetProperty(ca, "(TextBlock.Foreground ).(SolidColorBrush.Color)");
42            sb.Children.Add(ca);
43            LayoutRoot.Resources.Add(sb);
44            sb.Begin();
45             
46        }

47
 <my:DataGrid x:Name="CreditList" Grid.Row="0" Grid.RowSpan="2" Grid.ColumnSpan="2"
                      Margin
="10,10,10,10"  AutoGenerateColumns="False"  VerticalScrollBarVisibility="Visible"
                     HeadersVisibility
="All" RowHeadersWidth="30"
                      VerticalGridlinesBrush
="Orange"
                      RowHeight
="30"    
                      CanUserResizeColumns
="True"  IsReadOnly="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
                   
<!--RowBackground="Cornsilk" AlternatingRowBackground="LemonChiffon" HorizontalGridlinesBrush="#FF30E00B"-->
            
<my:DataGrid.Columns>
                
<my:DataGridTextBoxColumn Header="FID" DisplayMemberBinding="{Binding fid}" Visibility="Collapsed" />
                
<my:DataGridTextBoxColumn  Width="50"  FontSize="14"    DisplayMemberBinding="{Binding rindex}" >
                    
<my:DataGridTextBoxColumn.Header>
                        
<TextBlock Text="编号" FontSize="14"   x:Name="rindex" />
                    
</my:DataGridTextBoxColumn.Header>
                
</my:DataGridTextBoxColumn>
                
                
<my:DataGridTemplateColumn  Width="250" >
                    
<my:DataGridTemplateColumn.Header>
                        
<TextBlock Text="企业名称" FontSize="14" x:Name="fname"   />
                    
</my:DataGridTemplateColumn.Header>
                    
<my:DataGridTemplateColumn.CellTemplate>
                        
<DataTemplate>
                            
<HyperlinkButton NavigateUri="" x:Name="mc"  Tag="{Binding fid}"  FontSize="14" Click="HyperlinkButton_Click" 
                                             Content
="{Binding fname}" TextAlignment="Center" Cursor="hand" HorizontalContentAlignment="Center"
                                              VerticalContentAlignment
="Center"/>

                        
</DataTemplate>
                    
</my:DataGridTemplateColumn.CellTemplate>
                
</my:DataGridTemplateColumn>


                
<my:DataGridTemplateColumn Width="80" >
                    
<my:DataGridTemplateColumn.Header>
                        
<TextBlock Text="总分" FontSize="14" x:Name="fvalue"  />
                    
</my:DataGridTemplateColumn.Header>
                    
<my:DataGridTemplateColumn.CellTemplate>
                        
<DataTemplate>
                            
<TextBlock  x:Name="fval"    Tag="{Binding fid}"  FontSize="14"  
                                              Text
="{Binding fvalue,Mode=OneWay}" TextAlignment="Center" Cursor="hand"  HorizontalAlignment="Center"
                                               VerticalAlignment
="Center"/>

                        
</DataTemplate>
                    
</my:DataGridTemplateColumn.CellTemplate>
                
</my:DataGridTemplateColumn>



                
                 
                
                
                
<my:DataGridTemplateColumn Width="80" >
                    
<my:DataGridTemplateColumn.Header>
                        
<TextBlock Text="良好行为" FontSize="14" x:Name="faward"  />
                    
</my:DataGridTemplateColumn.Header>
                    
<my:DataGridTemplateColumn.CellTemplate>
                        
<DataTemplate>
                            
<HyperlinkButton NavigateUri="" FontSize="14" Tag="{Binding fid}" Click="HyperlinkButton_Click" 
                                             Content
="{Binding faward}" TextAlignment="Center" Cursor="hand" HorizontalContentAlignment="Center"
                                              VerticalContentAlignment
="Center"/>
                           
                        
</DataTemplate>
                    
</my:DataGridTemplateColumn.CellTemplate>
                
</my:DataGridTemplateColumn>
                
                
<my:DataGridTemplateColumn  Width="80">
                    
<my:DataGridTemplateColumn.Header>
                       
<TextBlock Text="不良行为" FontSize="14" x:Name="fpunish"/>
                    
</my:DataGridTemplateColumn.Header>
                    
<my:DataGridTemplateColumn.CellTemplate>
                        
<DataTemplate>
                            
<HyperlinkButton NavigateUri="" x:Name="bl" FontSize="14" Tag="{Binding fid}" Click="HyperlinkButton_Click"  
                                             Content
="{Binding fpunish}" TextAlignment="Center" Cursor="hand" HorizontalContentAlignment="Center"
                                              VerticalContentAlignment
="Center">
                                
                            
</HyperlinkButton>

                        
</DataTemplate>
                    
</my:DataGridTemplateColumn.CellTemplate>
                
</my:DataGridTemplateColumn>

            
</my:DataGrid.Columns>



        
</my:DataGrid>