myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » GUI: WPF und XAML » Wie funktioniert die Visualisierung von WPF Controls
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie funktioniert die Visualisierung von WPF Controls

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Doltsche
myCSharp.de-Mitglied

Dabei seit: 21.08.2009
Beiträge: 249
Entwicklungsumgebung: MS Visual Studio 2010 Pro
Herkunft: Schweiz


Doltsche ist offline Füge Doltsche Deiner Kontaktliste hinzu

Wie funktioniert die Visualisierung von WPF Controls

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Community

Ich würde gerne versuchen selber ein Chart control in WPF zu entwickeln.
Welche Art von Chart es sein soll spielt zur Zeit keine Rolle. Meine Frfage betrifft eher das Zeichnen.

Das Chart control würde ich gerne direkt unter System.Windows.Controls.Control ansetzen. Mir ist allerdings gänzlich unklar, wie ich dort etwas grafisch darstellen kann. Ich habe über den Sourcecode der vorhandenen WPF Controls geschaut (Referenz Sourcecode) in der Hoffnung, etwas zu finden. Da wurde ich leider endtäuscht.

In den *.cs Dateien der WPF controls is absolut nichts von Rendering oder dergleichen zu finden. Ich hätte beispielsweise beim Buttoncontrol sowas wie eine OnRender-Methode erwartet, wo der Hintergrundverlauf für den Button erstellt wird. Offenbar müssen sich diese Angaben in einer *.XAML-Datei befinden, die im Referenz Sourcecode allerdings nicht vorhanden sind. Daraus folgt aber wiederum die Frage, wo diese XAML-Datei geladen wird?

Meine Frage lautet daher, wo der visuelle Teil von WPF controls definiert und geladen wird?

Freundliche Grüsse

Samuel

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Doltsche am 27.04.2012 16:50.

24.04.2012 16:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.572
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi Doltsche,

bevor du eigene Controls erstellen willst (und vor allem so komplexe wie Charts), solltest du dich zuerst einmal mit den Grundlagen von WPF beschäftigen. Offenbar hast du noch völlig falsche (Windows-Forms-behaftete) Vorstellungen, wie das dort funktioniert.

Christian
24.04.2012 17:54 Beiträge des Benutzers | zu Buddylist hinzufügen
xxMUROxx xxMUROxx ist männlich
myCSharp.de-Mitglied

avatar-3236.jpg


Dabei seit: 11.01.2010
Beiträge: 1.552
Entwicklungsumgebung: VS 13, SSMS 12
Herkunft: Südtirol/Italien


xxMUROxx ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Doltsche,

ich kann MrSparkle nur zustimmen und dir einige Stichworte auf den Weg geben. Das was du suchst fällt unter CustomControls, bei welchen du zur genüge Tutorials findest. Der Style wird generell in der Generics.xaml erstellt. Weiteres solltest du dich sehr gut in DependencyProperties einlesen.
Sollte alle diese Grundkenntnisse nicht vorhanden sein wird es leider nichts mit dem Erstellen einer eigenen Komponente.

Gruß
Michael
24.04.2012 19:35 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Doltsche
myCSharp.de-Mitglied

Dabei seit: 21.08.2009
Beiträge: 249
Entwicklungsumgebung: MS Visual Studio 2010 Pro
Herkunft: Schweiz

Themenstarter Thema begonnen von Doltsche

Doltsche ist offline Füge Doltsche Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo

Besten Dank für euere Antworten Augenzwinkern .

Freundliche Grüsse

Samuel
27.04.2012 08:58 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Doltsche
myCSharp.de-Mitglied

Dabei seit: 21.08.2009
Beiträge: 249
Entwicklungsumgebung: MS Visual Studio 2010 Pro
Herkunft: Schweiz

Themenstarter Thema begonnen von Doltsche

Doltsche ist offline Füge Doltsche Deiner Kontaktliste hinzu

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hm, ich lag doch richtig mit meinem OnRender().
Ich habe erst später im VisualTree entdeckt, dass sich unterhalb des Buttons ein ButtonChrome ansiedelt. Der Quellcode dieser Klasse wiederum beinhaltet sämtliche prozeduralen Methoden, daneben OnRender() zum Zeichnen des Buttons Augenzwinkern .

Gruss Samuel

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Doltsche am 27.04.2012 16:53.

27.04.2012 16:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
talla talla ist männlich
myCSharp.de-Poweruser/ Experte

avatar-3214.jpg


Dabei seit: 20.07.2003
Beiträge: 6.862
Entwicklungsumgebung: VS 2010
Herkunft: Esslingen


talla ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das OnRender ist nur die halbe Wahrheit. Dort gibt man an, was man gerne gezeichnet hätte. Was am Ende rauskommt, kann wesentlich anders sein, da durch z.B. Transparenzen, Animationen, Transformationen oder Effekte, der Output noch vor dem Rendern geändert werden kann.

Selber brauch man im OnRender aber nur ganz selten zeichnen, nur für so LowLevel Sachen wie z.B. den ButtonChrome. In WPF werden Controls in der Regel durch Komposition erstellt, siehe ja auch dein Button welcher ein ButtonChrom nutzt + Ein ContentPresenter für den Inhalt etc.
27.04.2012 19:46 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Stipo Stipo ist männlich
myCSharp.de-Mitglied

avatar-2966.gif


Dabei seit: 09.04.2007
Beiträge: 699
Entwicklungsumgebung: VS 2010 Pro, Blend 4
Herkunft: Lörrach


Stipo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Mein Tip, bevor Du über das selbst erstellen eines Control in WPF nachdenkst, solltest Du zumindest einmal ein WPF Buch gelesen haben.

Bei WPF ist nichts mehr so, wie man das von WinForms kennt.
29.04.2012 20:57 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 8 Jahre.
Der letzte Beitrag ist älter als 8 Jahre.
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 05.12.2020 22:20