Autor Beitrag
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1590
Erhaltene Danke: 291

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 13.06.17 23:50 
Hallo Forum

Problemstellung:
Kann eine Klasse die von Typ Component erbt, sowohl für WinForms als auch für WPF 1:1 genutzt werden, oder muss man noch weiter hinten ansetzen und eine "Basisklasse" von IComponent erstellen, um beiden Umgebungen gerecht zu werden?

Es soll definitiv ein "nicht visuelles" Steuerelement werden, welches mit C# und VB.NET auf WinForms und WPF genutzt werden soll.
Der Artikel Class vs. Component vs. Control bezieht sich nur auf WinForms und ASP.NET Klassen und verweist dabei auf WPF Controls bzw. Control Authoring Overview.
Die Hinweise gehen ein wenig in die falsche Richtung, daher die Frage an euch, siehe erster Absatz. ;)

_________________
„Wo andere blind der Wahrheit folgen, denk daran ... Nichts ist wahr!" (Assassin's Creed I-II)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3493
Erhaltene Danke: 675

Win7
C++, C# (VS 2010/12/13/15)
BeitragVerfasst: Mi 14.06.17 09:53 
Hallo,

ich denke nicht, daß du eine (sinnvolle) gemeinsame Basisklassen für WinForms und WPF finden wirst (für WPF schau dir mal das Diagramm unter WPF Fundamentals: A Tour of the Class Hierarchy an).

Ich würde stattdessen dann 2 Projekte erstellen und mittels einer Shared-Implementierung (bzw. eigener Klasse) die gemeinsame Funktionalität auslagern.

Um was für eine Komponente handelt es sich denn, d.h. brauchst du vollen Designer-Support (ToolBar etc.)?

Für diesen Beitrag haben gedankt: Frühlingsrolle
Frühlingsrolle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1590
Erhaltene Danke: 291

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mi 14.06.17 10:16 
Dankeschön. Könntest du darauf ein kleines bisschen näher eingehen, in 2-3 Sätzen:
Zitat:
Ich würde stattdessen dann 2 Projekte erstellen und mittels einer Shared-Implementierung (bzw. eigener Klasse) die gemeinsame Funktionalität auslagern.

Ich weiss nicht, ob mir sowas schonmal untergekommen ist.

Auf Toolbars etc. werde ich nicht angewiesen sein. Es wird die .NET Version von frDrive werden, sobald diese Komponente fertig gestellt ist. Das wird demnächst sein.

_________________
„Wo andere blind der Wahrheit folgen, denk daran ... Nichts ist wahr!" (Assassin's Creed I-II)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3493
Erhaltene Danke: 675

Win7
C++, C# (VS 2010/12/13/15)
BeitragVerfasst: Mi 14.06.17 11:29 
Dann reicht doch ein normale Klasse in einer eigenen Assembly, die der Anwender dann einfach referenziert (du scheinst ja dann keine WinForms- oder WPF-Referenzen zu benötigen).

Am besten sogar dann als NuGet-Paket anbieten: Creating NuGet packages

PS: Ich meinte die Toolbar (Werkzeugkasten) vom VS-Designer, also um Komponenten auf ein Formular / UserControl etc. zu ziehen.

Für diesen Beitrag haben gedankt: Frühlingsrolle
Frühlingsrolle Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1590
Erhaltene Danke: 291

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mi 14.06.17 11:52 
Gut, dann wäre eine einfache Klasse in dem Fall sinnvoller, auch wenn ich es lieber als Komponente im Werkzeugkasten hätte.
Danke für die Bestätigung und für die verlinkten Beiträge.

Das Thema hat sich erledigt !!!

_________________
„Wo andere blind der Wahrheit folgen, denk daran ... Nichts ist wahr!" (Assassin's Creed I-II)