Archives

Archive pour Janvier 2009

Contrôles Silverlight

24 janvier 2009 Pas de commentaires

Résumé

Ce message décrit les contrôles dans Silverlight 2, Silverlight 2 SDK, et Silverlight Toolkit Décembre 2008 Communiqué, et leur soutien concepteur. Basé sur leurs véhicules d'expédition, il ya trois types de contrôles Silverlight de Microsoft: les contrôles d'exécution, les contrôles du SDK, et les contrôles Toolkit. Designer pour soutenir l'exécution et de contrôle sont répartis sur le SDK de Visual Studio, Blend et Silverlight SDK, tandis charge du concepteur pour les contrôles Toolkit sont pleinement mis en œuvre par les assemblées de conception de la trousse, en utilisant le cadre extensibilité des concepteurs.

Contrôles d'exécution

Silverlight runtime est livré avec un ensemble de contrôles de base, comme Button, Canvas, Ellipse et TextBox. Il expose également certaines classes de base comme le contrôle, UserControl et Panel, afin de permettre aux utilisateurs de personnaliser, étendre et renforcer leurs propres contrôles. Tous les contrôles de l'exécution sont dans System.Windows.dll sous% ProgramFiles% \ Microsoft Silverlight \ 2.0.31005.0 \:

System.Windows.dll réflecteur

S'il vous plaît noter les attributs XmlnsDefinition ci-dessus. Contrôle d'exécution par défaut xmlns vivre dans l' http://schemas.microsoft.com/winfx/2006/xaml/presentation , de sorte que leurs étiquettes n'ont pas besoin de préfixe xmlns, comme le montre ci-dessous XAML:

<UserControl
xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
xmlns: x = " http://schemas.microsoft.com/winfx/2006/xaml "
x: Class = "MySLApp1.Page"
Width = "640" height = "480">
<StackPanel x: Name = "LayoutRoot" Background = "blanc">
<X Button: Name = "Bouton" />
</ StackPanel>
</ UserControl>

SDK Controls

Silverlight 2 SDK est un ensemble distinct de Silverlight exécution. Vous pouvez l'installer à partir http://silverlight.net/GetStarted :

Installer Silverlight SDK

Il fait partie de Silverlight Tools pour Visual Studio 2008 SP1 téléchargement, qui comprend également runtime Silverlight 2 développeur. Silverlight 2 SDK ajoute deux DLL de contrôle: System.Windows.Controls.dll et System.Windows.Controls.Data.dll.

System.Windows.Controls.dll

System.Windows.Controls.dll réflecteur

System.Windows.Controls Assemblée ajoute quatre commandes principales: Calendrier, DatePicker, GridSplitter, TabControl, et leurs classes à l'appui, les deux mêmes noms CLR: System.Windows.Controls & System.Windows.Controls.Primitives, dans lequel la plupart des contrôles d'exécution vivent aussi. Toutes les commandes dans l'assemblage System.Windows.Controls sont dans la xmlns "clr-namespace: System.Windows.Controls; montage = System.Windows.Controls", et utilisent généralement les «fondamentaux» préfixe xmlns, comme le montre ci-dessous XAML:

<UserControl
xmlns: bases = "clr-namespace: System.Windows.Controls; montage = System.Windows.Controls"
xmlns = http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns: x = http://schemas.microsoft.com/winfx/2006/xaml
x: Class = "MySLApp1.Page"
Width = "640" height = "480">
<StackPanel X:Name="LayoutRoot" Background="White">
<basics:Calendar> </ bases: Calendrier>
</ StackPanel>
</ UserControl>

System.Windows.Controls.Data.dll

System.Windows.Controls.Data Assemblée ajoute le tout-puissant contrôle DataGrid et ses classes de soutien pour les deux mêmes noms CLR, System.Windows.Controls & System.Windows.Controls.Primitives, tout comme le runtime System.Windows assemblage et le SDK System.Windows.Controls assemblage.

System.Windows.Controls.Data.dll réflecteur

Contrôle System.Windows.Controls.Data (juste DataGrid pour l'instant) sont dans la xmlns "clr-namespace: System.Windows.Controls; montage = System.Windows.Controls.Data", et utilisent généralement les «données» préfixe xmlns, comme indiqué ci-dessous XAML:

<UserControl
xmlns: data = "clr-namespace: System.Windows.Controls; montage = System.Windows.Controls.Data"
xmlns = http://schemas.microsoft.com/winfx/2006/xaml/presentation
xmlns: x = http://schemas.microsoft.com/winfx/2006/xaml
x: Class = "MySLApp1.Page"
Width = "640" height = "480">
<StackPanel X:Name="LayoutRoot" Background="White">
<data:DataGrid> </ data: DataGrid>
</ StackPanel>
</ UserControl>

Boîte à outils Contrôles

Silverlight Toolkit est encore un autre paquet séparé que vous pouvez installer à partir http://silverlight.net/GetStarted :

Silverlight Toolkit

Vous pouvez également l'installer directement à partir de la page de start Toolkit : http://www.codeplex.com/Silverlight .

Une fois installé, le Silverlight Toolkit ajoute quatre ensembles de commande de plus:

Silverlight Toolkit

Chaque assemblage introduit un nouveau préfixe xmlns et un ensemble de contrôles sous elle:

  • System.Windows.Controls.dll
    • xmlns: contrôles = "clr-namespace: Microsoft.Windows.Controls; montage = Microsoft.Windows.Controls"
    • Les commandes principales: AutoCompleteBox, DockPanel, Expander, HeaderedContentControl, HeaderedItemsControls, Label, TreeView Viewbox, WrapPanel
  • System.Windows.Controls.Input.dll
    • xmlns: input = "clr-namespace: Microsoft.Windows.Controls; montage = Microsoft.Windows.Controls.Input"
    • Les commandes principales: NumericUpDown, ButtonSpinner
  • System.Windows.Controls.Theming.dll
    • Les commandes principales: ImplicitStyleManager, Thème (classes thématiques concrètes sont mises en œuvre dans les assemblées dans le répertoire de thèmes)
  • System.Windows.Controls.DataVisualization.dll
    • Les commandes principales: Carte, [Catégorie | DateTime | Linéaire] Axis, [Bulle | Bar | Colonne | Ligne | Répartition | Pie] Série

Ci-dessous copie d'écran montre une application Silverlight en utilisant les quatre assemblées Toolkit:

Application Toolkit dans Visual Studio

Soutien Designer

Les deux designers Silverlight de Microsoft sont Visual Studio 2008 SP1 et d'Expression Blend 2 SP1. Le soutien Designer pour Visual Studio 2008 SP1 (VS9) porte surtout sur la boîte à outils icône et IntelliSense, comme le montre la capture d'écran ci-dessus. Designer pour le soutien Blend 2 est surtout sur l'enregistrement des métadonnées, comme Description, Catégorie, interface web, les attributs, etc ToolboxBrowsable, comme le montre ci-dessous capture d'écran:

Application Toolkit dans Blend

Soutien Designer pour les contrôles d'exécution et le SDK

Ci-dessous les screenshots de démontrer le soutien de designer pour Silverlight exécution et le contrôle du SDK:

  • Visual Studio dispose d'icônes outils et IntelliSense pour les contrôles d'exécution et le SDK:

Visual Studio

  • Blend a un soutien riche (Icônes, Catégories, descriptions, inline / étendue / dialog etc Editors) pour les contrôles d'exécution et le SDK:

Blend

Les assemblées du temps de conception pour l'exécution et le contrôle du SDK sont installés par Silverlight SDK:

Silverlight SDK

  • System.Windows.VisualStudio.Design.dll pour les contrôles d'exécution dans System.Windows.dll
  • System.Windows.Controls.Design.dll & System.Windows.Controls.xml pour les contrôles dans le SDK System.Windows.Controls.dll
  • System.Windows.Controls.Data.Design.dll & System.Windows.Controls.Data.xml pour les contrôles dans le SDK System.Windows.Controls.Data.dll

Si nous ouvrons ces DLL dans le réflecteur de conception, nous pouvons voir qu'ils ne font pas beaucoup d'autres que de fournir des icônes boîte à outils pour Visual Studio:

System.Windows.VisualStudio.Design.dll réflecteur

System.Windows.Controls.Design.dll réflecteur

System.Windows.Controls.Data.Design.dll réflecteur

Il n'ya pas d'enregistrement des métadonnées, ni belle icônes affichées par Blend. Ainsi, la charge du concepteur riche pour les contrôles d'exécution et du SDK dans Visual Studio et Blend sont réellement mises en œuvre par les concepteurs eux-mêmes, au lieu des assemblées de conception pour ces contrôles. Cela crée serrés couplage entre les outils (et VS9 Blend2) et des contrôles (contrôles d'exécution et du SDK).

Soutien pour les contrôles Designer Toolkit

D'autre part, le soutien design pour les contrôles Toolkit sont pleinement mis en œuvre par les assemblées de conception dans la trousse, construit au-dessus du cadre extensibilité du concepteur:

Silverlight Toolkit Dlls Conception

Vous pouvez obtenir plus d'informations sur les fonctionnalités Toolkit temps de conception et leur mise en œuvre à partir de postes suivants:

Conclusion

Nous avons donc trois véhicules pour les contrôles Silverlight expédition:

  • La boîte à outils open-source sur Codeplex et les navires de tous les quelques mois. Cela nous permet de "ajouter de nouvelles fonctionnalités plus rapidement pour les concepteurs et développeurs, et fournir à la communauté un moyen efficace pour aider le développement de produits de forme en contribuant des idées et des rapports de bug."
  • Pour les commandes qui sont bien cuits, largement adopté et a atteint la bande de qualité matures, nous pouvons les déplacer vers le SDK.
  • Au fil du temps certains des contrôles SDK peuvent fusionner en Silverlight exécution.

Silverlight révolutionne le développement Web en faisant converger web et des technologies de développement de bureau (langues, plates-formes, outils, etc), le web fédérateur et de bureau, et apportant la puissance de bureau pour le client Web. Silverlight Toolkit équipe est comme un ISV agiles au sein de Microsoft, en permanence et de manière agressive et l'autonomisation des enrichir la plateforme Silverlight, ainsi que les pionniers d'une nouvelle agiles, ouverte et collaborative d'ingénierie d'origine du modèle. L'idée a été lancée par Shawn Burke et Scott Guthrie , comme décrit dans de Shawn blog Control Freak .