Startseite > Silverlight > Silverlight-Steuerelemente

Silverlight-Steuerelemente

Zusammenfassung

Dieser Beitrag beschreibt, steuert in Silverlight 2, Silverlight 2 SDK und Silverlight Toolkit Dezember 2008 Release, und ihre Designer zu unterstützen. Basierend auf ihren Versand Fahrzeuge, gibt es drei Arten von Silverlight-Steuerelementen von Microsoft: Laufzeit steuert, SDK Kontrollen und Toolkit-Steuerelemente. Designer-Unterstützung für Runtime und SDK Bedienelemente sind über Visual Studio, Blend und Silverlight SDK verteilt, während Designer-Unterstützung für Toolkit-Steuerelemente vollständig von Design-Baugruppen in das Toolkit implementiert werden, mit der Designer-Erweiterbarkeit Rahmen.

Runtime Kontrollen

Silverlight-Laufzeit wird mit einer Reihe von grundlegenden Steuerelemente, wie Button, Canvas, Ellipse, und TextBox. Es macht auch einige Basisklassen wie Control, UserControl und Systemsteuerung, um Benutzern zu erlauben anzupassen, zu erweitern und ihre eigenen Kontrollen. Alle zur Laufzeit Steuerelemente sind in System.Windows.dll unter% ProgramFiles% \ Microsoft Silverlight \ 2.0.31005.0 \:

System.Windows.dll in Reflektor

Bitte beachten Sie die XmlnsDefinition Attribute vor. Runtime steuert live in der Standard-xmlns http://schemas.microsoft.com/winfx/2006/xaml/presentation , so dass ihre tags benötigen keine xmlns-Präfix, wie in unten XAML dargestellt:

<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 = "White">
<Taste x: Name = "Button" />
</ StackPanel>
</ UserControl>

SDK Kontrollen

Silverlight 2 SDK ist ein separates Paket von Silverlight-Laufzeit. Sie können es aus installieren http://silverlight.net/GetStarted :

Installieren Sie Silverlight SDK

Es ist Teil der Silverlight Tools für Visual Studio 2008 SP1 herunterzuladen, zu der auch Silverlight 2-Entwickler Laufzeit. Silverlight 2 SDK fügt zwei Kontrolle dlls: System.Windows.Controls.dll und System.Windows.Controls.Data.dll.

System.Windows.Controls.dll

System.Windows.Controls.dll in Reflektor

System.Windows.Controls Montage fügt vier wichtigsten Bedienelemente: Kalender, DatePicker, GridSplitter, TabControl und ihre unterstützenden Klassen, um die beiden gleichen CLR-Namespaces: System.Windows.Controls & System.Windows.Controls.Primitives, in denen die meisten zur Laufzeit steuert auch leben. Alle Steuerelemente im System.Windows.Controls Assembly sind in dem xmlns "clr-namespace: System.Windows.Controls; assembly = System.Windows.Controls", und in der Regel die "basics" xmlns-Präfix, wie in unten Xaml dargestellt:

<UserControl
xmlns: Grundlagen = "clr-namespace: System.Windows.Controls; assembly = 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> </ Grundlagen: Kalender>
</ StackPanel>
</ UserControl>

System.Windows.Controls.Data.dll

System.Windows.Controls.Data Montage fügt der allmächtige DataGrid-Steuerelement und seine unterstützenden Klassen, um die beiden gleichen CLR-Namespaces, System.Windows.Controls & System.Windows.Controls.Primitives, ebenso wie die Runtime-Assembly System.Windows und der SDK Montage System.Windows.Controls.

System.Windows.Controls.Data.dll in Reflektor

System.Windows.Controls.Data Kontrollen (nur DataGrid jetzt) ​​sind in der xmlns "clr-namespace: System.Windows.Controls; assembly = System.Windows.Controls.Data", und in der Regel die "Daten" xmlns-Präfix, wie in unten Xaml dargestellt:

<UserControl
xmlns: data = "clr-namespace: System.Windows.Controls; assembly = 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>

Toolkit-Steuerelemente

Silverlight Toolkit ist ein weiteres separates Paket, das Sie aus installieren können http://silverlight.net/GetStarted :

Silverlight Toolkit

Sie können ihn aber auch direkt von Toolkit-Homepage : http://www.codeplex.com/Silverlight .

Einmal installiert, fügt der Silverlight Toolkit vier weitere Kontrolle Baugruppen:

Silverlight Toolkit

Jede Baugruppe stellt eine neue xmlns-Präfix und eine Reihe von Kontrollen im Rahmen der it:

  • System.Windows.Controls.dll
    • xmlns: Kontrollen = "clr-namespace: Microsoft.Windows.Controls; assembly = Microsoft.Windows.Controls"
    • Haupt-Bedienelemente: AutoCompleteBox, DockPanel, Expander, HeaderedContentControl, HeaderedItemsControls, Label, TreeView, Viewbox, WrapPanel
  • System.Windows.Controls.Input.dll
    • xmlns: input = "clr-namespace: Microsoft.Windows.Controls; assembly = Microsoft.Windows.Controls.Input"
    • Haupt-Bedienelemente: NumericUpDown, ButtonSpinner
  • System.Windows.Controls.Theming.dll
    • Haupt-Bedienelemente: ImplicitStyleManager, Theme (Theme konkrete Klassen sind in Baugruppen unter Themes-Verzeichnis implementiert)
  • System.Windows.Controls.DataVisualization.dll
    • Haupt-Bedienelemente: Chart, [Category | DateTime | Linear] Axis, [Bubble | Bar | Column | Line | Scatter | Pie] Series

Unten Screenshot zeigt eine Silverlight-Anwendung mit den vier Toolkit Baugruppen:

Toolkit-Anwendung in Visual Studio

Designer-Unterstützung

Die beiden Silverlight-Designer von Microsoft sind Visual Studio 2008 SP1 und Expression Blend 2 SP1. Designer für Visual Studio 2008 SP1 (VS9) geht es hauptsächlich um Toolboxsymbol und IntelliSense, wie in obigen Screenshot gezeigt. Designer-Unterstützung für Blend 2 ist vor allem über Metadaten-Registrierung, wie Beschreibung, Kategorie, Browsable, ToolboxBrowsable etc Attribute, wie von unten Screenshot gezeigt:

Toolkit Anwendung in Blend

Designer-Unterstützung für Runtime und SDK Kontrollen

Unten Screenshots zeigen Designer-Unterstützung für Silverlight Runtime und SDK-Steuerelemente:

  • Visual Studio hat Toolbox Symbole und IntelliSense für Runtime und SDK-Steuerelemente:

Visual Studio

  • Mischung hat eine reiche Unterstützung (Icons, Kategorien, Beschreibungen, Inline / erweitert / Dialog Editors etc) für Laufzeit-und SDK-Steuerelemente:

Mischung

Die Design-Zeit Baugruppen für Runtime und SDK Kontrollen werden durch Silverlight SDK installiert ist:

Silverlight SDK

  • System.Windows.VisualStudio.Design.dll für Runtime-Kontrollen in System.Windows.dll
  • System.Windows.Controls.Design.dll & System.Windows.Controls.xml für SDK Kontrollen in System.Windows.Controls.dll
  • System.Windows.Controls.Data.Design.dll & System.Windows.Controls.Data.xml für SDK Kontrollen in System.Windows.Controls.Data.dll

Wenn wir diese Design-dlls offenen Reflektor, können wir sehen, dass sie nicht viel tun, außer daß durch Werkzeugkasten Symbole für Visual Studio:

System.Windows.VisualStudio.Design.dll in Reflektor

System.Windows.Controls.Design.dll in Reflektor

System.Windows.Controls.Data.Design.dll in Reflektor

Es gibt keine Metadaten-Registrierung, noch schöne Ikonen von Blend-angezeigt. Also werden die reichen Designer-Unterstützung für Runtime und SDK-Steuerelemente in Visual Studio und Blend sind tatsächlich von den Designern selbst umgesetzt werden, statt von Design-Baugruppen für die Kontrollen. Dies schafft eine enge Kopplung zwischen den Werkzeugen (VS9 und Blend2) und Kontrollen (Runtime und SDK-Kontrollen).

Designer-Unterstützung für Toolkit-Steuerelemente

Auf der anderen Seite, sind Designer-Unterstützung für Toolkit-Steuerelemente vollständig von Design-Baugruppen in Toolkit, auf der Designer-Erweiterbarkeit-Framework aufgebaut implementiert:

Silverlight Toolkit Design-Dlls

Sie können mehr Informationen über Toolkit Design-Zeit-Funktionen und ihre Umsetzung aus folgenden Beiträge:

Abschluss

So haben wir drei Fahrzeuge für den Versand Silverlight-Steuerelemente:

  • Das Toolkit ist Open-Source auf Codeplex und Schiffe alle paar Monate. Dies ermöglicht uns, "add new Funktionalität schnell für Designer und Entwickler, und geben der Gemeinde eine effiziente Möglichkeit, Form Produktentwicklung beiträgt Ideen und Bug-Reports helfen."
  • Für die Bedienelemente, die auch gebacken werden, weit verbreitet und erreicht ausgereifte Qualität band, können wir sie SDK zu bewegen.
  • Im Laufe der Zeit einige der SDK Kontrollen können in Silverlight-Laufzeit zu verschmelzen.

Silverlight revolutioniert die Web-Entwicklung durch konvergierende Web-und Desktop-Entwicklungs-Technologien (Sprachen, Plattformen, Werkzeuge etc.), Vereinheitlichung Web-und Desktop, und bringt die Leistung von Desktop-Web-Client. Silverlight Toolkit Team ist wie eine agile ISV innerhalb von Microsoft, kontinuierlich und aggressiv zu bereichern und die Stärkung der Silverlight-Plattform sowie Vorreiter einer neuen agile, kollaborative und Open-Source-Engineering-Modell. Die Idee war, gestartet von Shawn Burke und Scott Guthrie , wie in Blogbeitrag Shawn ist beschrieben Control Freak .

  1. Noch keine Kommentare.
  1. Bisher keine Trackbacks.