Laden...

Paralleles Grafikframework für WPF

Erstellt von Servus vor 13 Jahren Letzter Beitrag vor 13 Jahren 3.491 Views
S
Servus Themenstarter:in
79 Beiträge seit 2009
vor 13 Jahren
Paralleles Grafikframework für WPF

Beschreibung:

Vor einiger Zeit hatte ich ein Projekt zum Erstellen und Verwalten von Labels. Diese bestanden aus:
-einem Rahmen
-einem Hintergrund
-dem Text

Zu dieser Zeit lernte ich gerade WPF. Da ich gerne MVVM einsetzte, aber trotzdem die guten Funktionen der WPF (Hintergrundbrushes, etc. ) einsetzten wollte, und mir nichts einfiel, wie dies auch mithlife von MVVM zu lösen war, wurde mir hier im Board geraten ein Paralleles Grafikframework zu schreiben. Dieses möchte ich euch hier nun auch zur Verfügung stellen.

Das "Framework" heißt "ParallelGraphicsDefinitionManagement" und besteht aus Grafikklassen, die sich ausschließlich in XML speichern (und laden) können. Weitere Funktionalität beinhalten sie nicht. Allerdings stellt die Library Adater für Konvertierer zur Verügung. (PGDM_Library)

Das Zusatzframework (PGDM_WPF) setzt an diese Adapter an und stellt mittels ExtensionMethods Konvertierer für WPF zur Verfügung.

Ein weiteres Framework für System.Drawing (WinForms & ASP.NET) sowie ein ManipulationFramework sind in Planung. Zweiteres wird Erweiterungsmethoden für die PGDM-Klassen zur Verfügung stellen die das Object Manipulieren sollen. Beispielsweise die Methode Invert bei der Klasse PGDMColor.

Wichtig:
Das Grafikframework ist auf den Einsatz von MVVM ausgelegt. Das Framework ist bei weitem nicht fertig (Erweiterungen/Updates folgen)

Edit: Das WPF-framework muss vorher noch initialisiert werden:


PGDM_WPF.Initializer.Initialize();

Auszug aus der BorderBrush Property des damaligen LabelViewModel:


public Brush BorderBrush
{
get
{
if (_model.BorderBrush == null)
return null;
return (Brush)_model.BorderBrush.ConvertToWPF();
}
set
{
PGDMBrush result = (PGDMBrush)PGDMInstanceCreator.CreateInstance(value);
result.ConvertFromWPF(value);
_model.BorderBrush = result;
OnPropertyChanged( "BorderBrush" );
}
}

Schlagwörter: WPF Grafikframework MVVM

while (!sleep) sheep++;

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

Das Grafikframework ist auf den Einsatz von MVVM ausgelegt.

Soll sich das ViewModel überhaupt darum kümmern müssen welcher Brush in der View verwendet wird? Nein.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

S
Servus Themenstarter:in
79 Beiträge seit 2009
vor 13 Jahren

Doch soll es in dem Fall, denn der Hintergrundfarbverlauf kommt aus den Daten. Diese möchte ich unabhängig vom Oberflächenframework speichern.
Edit: Ich verweise hier auch noch mal auf: Diskussion über Grafikframework

while (!sleep) sheep++;

6.911 Beiträge seit 2009
vor 13 Jahren

Hallo,

denn der Hintergrundfarbverlauf kommt aus den Daten

OK - das ist also ein "Sonderfall" 😉

Hab oben auch den Link eingefügt.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"