12
juin
2008
[ASP.NET][Silverlight] Comment appeler une fonction javascript depuis mon application Silverlight ?
juin
2008
Un article de nico-pyright(c)
Pas de commentaires
Prenons cette fonction javascript qui change la visibilité d’un élément, elle est déclarée dans votre page ASPX comme suit :
<script type="text/javascript">
function setDisplayDiv(id, visible)
{
var o;
if (document.getElementById)
o = document.getElementById(id).style;
else if (document.layers)
o = document.layers[id];
else if (document.all)
o = document.all[id].style;
if (o)
o.display = (visible ? 'block' : 'none');
}
</script>
function setDisplayDiv(id, visible)
{
var o;
if (document.getElementById)
o = document.getElementById(id).style;
else if (document.layers)
o = document.layers[id];
else if (document.all)
o = document.all[id].style;
if (o)
o.display = (visible ? 'block' : 'none');
}
</script>
Plus bas dans notre page, nous avons notre composant Silverlight et un div contenant du texte :
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<div style="height:100px">
<asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/monApplication.xap" MinimumVersion="2.0.30523" Width="100%" Height="100%" />
</div>
<div id="demo">
Texte de démo
</div>
<div style="height:100px">
<asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/monApplication.xap" MinimumVersion="2.0.30523" Width="100%" Height="100%" />
</div>
<div id="demo">
Texte de démo
</div>
Grace à la méthode Invoke de l’objet HtmlPage.Window nous pourrons appeler la fonction javascript depuis Silverlight et changer ainsi la visibilité de notre div :
private bool visible_;
public Page()
{
InitializeComponent();
visible_ = true;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
visible_ = !visible_;
HtmlPage.Window.Invoke("setDisplayDiv", "demo", visible_);
}
public Page()
{
InitializeComponent();
visible_ = true;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
visible_ = !visible_;
HtmlPage.Window.Invoke("setDisplayDiv", "demo", visible_);
}
Commentaires récents
- [Tests] Arrange Act Assert, une traduction ? dans
- [UnitTest][C#] Tester une méthode privée dans
- Récupérer une valeur d’un contrôle depuis une autre Form / inclusions croisées et déclaration anticipée dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
- Tutoriel : Utiliser la ListBox et l’Isolated Storage dans vos applications Windows Phone 7 avec Silverlight dans
Archives
- janvier 2013
- avril 2012
- janvier 2012
- juin 2011
- janvier 2011
- décembre 2010
- novembre 2010
- septembre 2010
- juin 2010
- mars 2010
- février 2010
- janvier 2010
- décembre 2009
- novembre 2009
- octobre 2009
- septembre 2009
- août 2009
- juillet 2009
- mai 2009
- avril 2009
- mars 2009
- janvier 2009
- décembre 2008
- novembre 2008
- octobre 2008
- septembre 2008
- août 2008
- juillet 2008
- juin 2008
- mai 2008
- avril 2008
- mars 2008
- février 2008
- janvier 2008
- décembre 2007
- novembre 2007
- octobre 2007
- septembre 2007
- août 2007
- juillet 2007
- juin 2007
- mai 2007