2009-04-11 5 views
0

J'ai essayé Google pour cela, mais peut-être que je ne suis pas en train de formuler ma requête correctement, parce que je reçois beaucoup de non-sens et de non-pertinence. Probablement une question trop simple. Toutes mes excuses depuis la dernière fois que j'ai fait Silverlight!Obtenir l'élément d'interface utilisateur XAML à partir de JavaScript

Si j'ai un élément XAML:

<Image Canvas.Top="128" x:Name="img4_7" Width="180.3" Height="117" Source="monkey1.jpg" Stretch="Fill" Canvas.Left="-3.344" Opacity="0.595"/> 

Comment puis-je obtenir qu'en utilisant JavaScript x: Nom? Je cherche quelque chose comme getElementById(), mais pour Silverlight. Je veux presque quelque chose comme ceci:

img4_7=rootElement.children.getItem('img4_7'); 

Évidemment, cela ne fonctionne pas!

Je n'utilise pas ASP.NET AJAX.

Merci pour toute aide pour cette question noob!

Répondre

1

Compris.

besoin d'utiliser control.content.findName()

Voici mon handload, pour d'autres de bénéficier:

handleLoad: function(control, userContext, rootElement) 
{ 
    this.control = control; 

    // Sample event hookup: 
    rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown)); 

    this.img4_7=control.content.findName("img4_7"); 

    if (this.img4_7) { 
     this.img4_7.addEventListener("MouseEnter", Silverlight.createDelegate(this,this.handleMouseEnter)); 
     this.img4_7.addEventListener("MouseLeave",Silverlight.createDelegate(this,this.handleMouseLeave)); 

    } 


}, 
+0

me pardonnent pour cognant cette vieille question. Mais j'ai exactement la même situation que vous, mais cela ne fonctionne pas ... J'ai besoin de cet élément: où x: Nom est le nom unique (en avoir un pour chaque lettre de début_data) – Matthias

+0

Wow, c'est un oldie! Cette question était pour Silverlight 1, donc je ne suis pas sûr que ce soit pertinent avec 2+ car ils ont des architectures différentes (ils ont des "mini CLR"). Peut-être que vous utilisez 3/4 sans le savoir? Je crois que vous pouvez écrire un chargeur qui se comporte comme Silverlight 1, si c'est ce que vous ciblez ici? Sinon, vous devrez soit faire ce dont vous avez besoin dans l'application Silveright, soit tirer parti d'une autre API JS pour accéder au DOM XAML (dont je ne suis pas encore au courant). Désolé je ne pourrais pas être plus utile. –

+0

Oui, j'utilise Silverlight 1. Mais pas de soucis, c'est réglé maintenant. – Matthias

Questions connexes