Was ist der Unterschied zwischen einer Benutzersteuerungsbibliothek und einer benutzerdefinierten Steuerbibliothek?
Ich bin gerade zu beschleunigen, die auf WPF und möchten, erstellen Sie eine wiederverwendbare Steuerelement von WPF.
Wenn ich mir die Optionen zum erstellen von Projekten in Visual Studio, ich sehe "WPF User Control Library" und "WPF Custom Control Library". Es ist mir unklar, was der Unterschied ist zwischen Ihnen und meiner Google-Suche nicht aktiviert haben, bis keine anständigen Erklärungen.
Ich würde gerne den Unterschied zwischen Ihnen verstehen und im Idealfall sehen Sie einige Beispiele, Wann eine über die andere.
InformationsquelleAutor der Frage 17 of 26 | 2009-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Praxis benutzerdefinierte Steuerelemente sind etwas, das Sie implementieren, auf der code-Ebene, während Sie können XAML für die Benutzer steuert. Die benutzerdefinierten Steuerelemente verlängern ein WPF-control Basis-Klassen und bieten zusätzliche Funktionalität durch code so alle Hinzugefügt, Logik und Repräsentation, der umgesetzt werden muss der code drin.
Einem Benutzer-Steuerelement ist technisch ein normaler content-Steuerelement, die Sie erweitern können, in einigen teilen im code, aber in der Regel erweitert, indem andere Steuerelemente drin. So wie Kent erwähnt ein UserControl ist eine aggregation von anderen Steuerelementen. Dies begrenzt, was Sie tun können, mit der ein Benutzer die Kontrolle erheblich. Es ist einfacher zu bedienen, aber etwas eingeschränkter als ein full-custom-Steuerung.
Diese Steuerelemente haben eine kleine Differenz, die aus einer runtime-Sicht. Wenn Sie eine Anwendung erstellen und platzieren Sie ein Benutzersteuerelement in den control tree haben einen konkreten UserControl-template drin sein. Also, wenn wir betrachten eine lahme Beispiel eine spezielle Taste. Wenn Sie eine Benutzer-Steuerelement-würden Sie fügen Sie eine Schaltfläche innerhalb der
<UserControl>
element. Wenn Sie ein benutzerdefiniertes Steuerelement verwenden, Sie würde daraus die Steuern selbst aus-Taste wahrscheinlich. Der Unterschied sichtbar sein würde in der logischen Struktur.Während die custom control eine logische Struktur ähnlich
UserControl geben würde, eine logische Struktur von
Also im Endeffekt ist das UserControl ist nur eine normale ContentControl, die können Sie erweitern ein wenig, und für die können Sie vordefinieren des Inhalts. Custom control bietet mehr Flexibilität in der Preis der Leichtigkeit der Umsetzung, wie Sie zu tun haben, um die Logik und Interaktion im code anstatt der Vorteil von XAML.
Aber nach all diesen, ich glaube nicht, dass es, dass viel Unterschied in der Visual Studio-Vorlagen. Wahrscheinlich das Visual Studio Benutzerdefinierte Steuerelement erstellt ein Projekt mit einem leeren benutzerdefinierten Steuerelements während der Benutzer-Steuerelement-Projekt ist ein Projekt mit einer leeren Benutzer-Kontrolle. Sie können später hinzufügen jeder Art von Elemente zum Projekt.
Update
Und meiner Meinung nach auf, wenn die benutzerdefinierte Steuerung und Benutzer-Steuerelement ist, dass, wenn Sie etwas fertig zu bekommen, mit einem Benutzer-Steuerelement und das zusätzliche Steuerelement-element in der logischen Struktur stört Sie nicht, verwenden Sie eine Benutzer-Steuerelement, wie Sie sind so viel einfacher zu erstellen und zu pflegen. Verwenden Sie ein benutzerdefiniertes Steuerelement nur, wenn Sie einen Grund, nicht zu verwenden, ein Benutzer-Steuerelement.
InformationsquelleAutor der Antwort Mikko Rantanen
Einen
Control
stellt einige Verhalten, das ist skinnable (templatable), in der Erwägung, dass eineUserControl
ist in der Regel eine höhere Ebene der aggregation vonControl
s, die spezifisch für eine Anwendung.Mehr info finden Sie hier.
InformationsquelleAutor der Antwort Kent Boogaart