Classe Silverlight

Offre un modo per integrare il contenuto di Microsoft Silverlight in una pagina Web ASP.NET.

Spazio dei nomi:  System.Web.UI.SilverlightControls
Assembly:  System.Web.Silverlight (in System.Web.Silverlight.dll)

Sintassi

'Dichiarazione
Public Class Silverlight _
    Inherits WebControl _
    Implements IScriptControl
'Utilizzo
Dim instance As Silverlight
public class Silverlight : WebControl, 
    IScriptControl

Note

Quando è necessario aggiungere contenuto di Silverlight a una pagina Web ASP.NET, è possibile utilizzare il controllo Silverlight.

La proprietà Source indica il contenuto di Silverlight da visualizzare. Tale contenuto può essere specificato come pacchetto XAP (con contenuto di Silverlight 2 compilato) o come file XAML (per contenuto di Silverlight 1.0).

Nota

Se si specifica un file XAP come valore per la proprietà Source è necessario che Silverlight 2 sia installato nel browser affinché l'utente visualizzi il contenuto di Silverlight.

Il controllo Silverlight ASP.NET genera un controllo client Sys.UI.Silverlight.Control nella pagina HTML inviata al browser.

Le impostazioni delle proprietà per il controllo server Silverlight vengono inviate come valori di proprietà client per il controllo client Sys.UI.Silverlight.Control nel markup HTML di cui è stato eseguito il rendering per la pagina ASPX che dispone di un controllo server Silverlight.

Ad esempio, è possibile specificare la dimensione del contenuto del plug-in Silverlight utilizzando le proprietà Height e Width ereditate dalla classe di base WebControl. È possibile impostare la larghezza o l'altezza come valore numerico (in pixel) o come percentuale.

È possibile inviare parametri di inizializzazione al plug-in Silverlight specificando i valori per la proprietà InitParameters.

La classe Sys.UI.Silverlight.Control del client Silverlight consente di rilevare automaticamente se il plug-in Silverlight è installato nel computer dell'utente. Se non è installata la versione corretta del plug-in Silverlight, viene visualizzato un elemento grafico che consente all'utente di fare clic per installare il plug-in Silverlight.

È possibile personalizzare la pagina HTML visualizzata quando la versione richiesta del plug-in Silverlight non è installata nel browser dell'utente con la proprietà PluginNotInstalledTemplate.

Esempi

Nell'esempio seguente viene illustrato l'utilizzo del controllo Silverlight. Il controllo Silverlight consente di eseguire il rendering del pacchetto dell'applicazione XAP creato utilizzando XAML e codice gestito. Per ulteriori informazioni sull'utilizzo del controllo Silverlight con i pacchetti dell'applicazione XAP, vedere Controllo server ASP.NET Silverlight.

Nel codice riportato di seguito viene illustrato come includere il controllo server Silverlight in una pagina Web. L'attributo Source del controllo server Silverlight fa riferimento al pacchetto dell'applicazione XAP.

<%@ Page Language="C#" AutoEventWireup="true" %>

<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
    TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;">
<head runat="server">
    <title>Test Page For myExample</title>
</head>
<body style="height:100%;margin:0;">
    <form id="form1" runat="server" style="height:100%;">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div  style="height:100%;">
            <asp:Silverlight ID="Xaml1" runat="server" Source="../ClientBin/myExample.xap" MinimumVersion="2.0" Width="100%" Height="100%" />
        </div>
    </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="true" %>

<%@ Register Assembly="System.Web.Silverlight" Namespace="System.Web.UI.SilverlightControls"
    TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;">
<head runat="server">
    <title>Test Page For myExample</title>
</head>
<body style="height:100%;margin:0;">
    <form id="form1" runat="server" style="height:100%;">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <div  style="height:100%;">
            <asp:Silverlight ID="Xaml1" runat="server" Source="../ClientBin/myExample.xap" MinimumVersion="2.0" Width="100%" Height="100%" />
        </div>
    </form>
</body>
</html>

Nel codice riportato di seguito viene illustrato un esempio XAML (page.xaml) incluso nel pacchetto dell'applicazione XAP a cui viene fatto riferimento nel codice precedente.

<UserControl x:Class="myExample.Page"
    xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" 
    Width="400" Height="300">
    <Grid x:Name="LayoutRoot" Background="White">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <TextBlock Text="Button Demonstration" Margin="0,20,10,15"
            FontFamily="Verdana" FontSize="18" FontWeight="Bold"
            Foreground="#FF5C9AC9" Grid.Row="0" Grid.ColumnSpan="2"/>
        <Button x:Name="btn1" Grid.Row="1" Margin ="0,5,5,5" 
            HorizontalAlignment="Left"
            Foreground="Green" Width="120" Click="OnClick1" 
            Content="Hover to Click" ClickMode="Hover" />
        <TextBlock x:Name="text1" Grid.Row="1" Grid.Column="1" 
            Margin ="0,8,0,0" />
        <Button x:Name="btn2" Grid.Row="2" Margin ="0,5,5,5" 
            HorizontalAlignment="Left" 
            Foreground="Blue" Width="120" Click="OnClick2" 
            Content="Press to Click" ClickMode="Press" />
        <TextBlock x:Name="text2" Grid.Row="2" Grid.Column="1" 
            Margin="0,8,0,0" />
        <Button x:Name="btn3" Grid.Row="3" Margin ="0,5,5,5" 
            HorizontalAlignment="Left"
            Click="OnClick3" Width="120" Content="Reset" 
            ClickMode="Release"/>
        <TextBlock x:Name="text3" Grid.Row="3" Grid.Column="1" 
            Margin ="0,8,0,0" />
    </Grid>
</UserControl>

Il codice riportato di seguito mostra il code-behind di supporto (page.xaml.cs o page.xaml.vb) per l'esempio XAML indicato in precedenza (page.xaml).

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace myExample
{
    public partial class Page : UserControl
    {
        public Page()
        {
            InitializeComponent();
        }
        void OnClick1(object sender, RoutedEventArgs e)
        {
            btn1.Foreground = new SolidColorBrush(Colors.Blue);
            text1.Text = "Click event handled on Hover.";
            text3.Text = "";
        }

        void OnClick2(object sender, RoutedEventArgs e)
        {
            btn2.Foreground = new SolidColorBrush(Colors.Green);
            text2.Text = "Click event handled on Press.";
            text3.Text = "";
        }

        void OnClick3(object sender, RoutedEventArgs e)
        {
            btn1.Foreground = new SolidColorBrush(Colors.Green);
            btn2.Foreground = new SolidColorBrush(Colors.Blue);
            text1.Text = "";
            text2.Text = "";
            text3.Text = "Click event handled on Release.";
        }
    }
}
Partial Public Class Page
    Inherits UserControl
    Public Sub New()
        InitializeComponent()
    End Sub
    Private Sub OnClick1(ByVal sender As Object, ByVal e As RoutedEventArgs)
        btn1.Foreground = New SolidColorBrush(Colors.Blue)
        text1.Text = "Click event handled on Hover."
        text3.Text = ""
    End Sub

    Private Sub OnClick2(ByVal sender As Object, ByVal e As RoutedEventArgs)
        btn2.Foreground = New SolidColorBrush(Colors.Green)
        text2.Text = "Click event handled on Press."
        text3.Text = ""
    End Sub

    Private Sub OnClick3(ByVal sender As Object, ByVal e As RoutedEventArgs)
        btn1.Foreground = New SolidColorBrush(Colors.Green)
        btn2.Foreground = New SolidColorBrush(Colors.Blue)
        text1.Text = ""
        text2.Text = ""
        text3.Text = "Click event handled on Release."
    End Sub
End Class

Gerarchia di ereditarietà

System.Object
  System.Web.UI.Control
    System.Web.UI.WebControls.WebControl
      System.Web.UI.SilverlightControls.Silverlight
        System.Web.UI.SilverlightControls.MediaPlayer

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Piattaforme

Per informazioni sui sistemi operativi e sui browser supportati da Silverlight, vedere "Sistemi operativi e browser supportati" in Architettura di Silverlight.

Vedere anche

Riferimenti

Membri Silverlight

Spazio dei nomi System.Web.UI.SilverlightControls

Source

PluginNotInstalledTemplate

Altre risorse

Sys.UI.Silverlight.Control

Controllo server ASP.NET Silverlight