2010-05-18 7 views
0
<sdk:DataGridTemplateColumn> 
       <sdk:DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <StackPanel Loaded ="SPImage_Loaded" Orientation="Horizontal" Background="Transparent" > 
          <Button x:Name="myButton" 
         Click="Btn_Click"> 
          <Image x:Name="imgMarks" " Stretch="None"/> 
         </Button> 
         </StackPanel> 
        </DataTemplate> 
       </sdk:DataGridTemplateColumn.CellTemplate> 
      </sdk:DataGridTemplateColumn> 

dans .cs j'ai défini l'événement pour le panneau de pileStackPanel chargé ne reçoit pas tiré in.cs Page

private void SPImage_Loaded(object sender, RoutedEventArgs e) 
    { 
     try 
     { 
      var TargetMarks = sender as StackPanel; 
      Image imgMarks= (Image)TargetScore.FindName("imgMarks"); 

      Marks obj = (Marks)TargetMarks.DataContext; 

// here marks oject would be containg the details 
// here if marks.score object value is 1 then bind the image 
//else 
// dnt bind the image . that is logic i am trying to do. 

      imgMarks.Source = new BitmapImage(new Uri("/Images/a1.png", UriKind.Relative)); 
     } 
     catch (Exception) 
     { 
      throw; 
     } 
    } 

Y at-il une meilleure solution pour y parvenir?

+0

Pouvez-vous inclure plus de votre fichier XAML? Sans plus que le DataTemplate, nous ne pouvons pas faire grand-chose. – Stephan

Répondre

0

Sans voir le fichier xaml et .cs complet, êtes-vous certain que la classe x: Class pour le contrôle utilisateur spécifiée dans le xaml est la même que le nom de la classe dans votre fichier .cs?

Questions connexes