Laden...

Forenbeiträge von talla Ingesamt 6.862 Beiträge

20.05.2012 - 10:58 Uhr

Hallo Taipi88,

auf welche Browserversionen beziehst du dich? Und auf was für ein Webvideo? Das selbe kanns bei den genannten Browsern eigentlich schon nicht sein, weil sie unterschiedliche Formate unterstützen: h264 vs. WebM

Wichtig ist halt, dass man aktuelle Versionen vergleicht, da grad in Sachen hardwareunterstütztes Rendering sich viel getan hat bei den verschiedenen Browsern. In deinem Beispiel rendert der IE wohl in Software und Chrome in HW, anders ließen sich solch unterschiedliche Prozessorauslastungen kaum erklären.

Um nochmal zum Video zurückzukommen: Wars denn überhaupt nen natives Video welches direkt im Browser gerendert wurde, oder war es ein Plugin wie Flash wo das gemacht hat. Dann sind zwar deine Schlüsse bezüglich, was ist für den Anwender das bessere - natürlich da wos am besten läuft - richtig, aber ausgehend von einer falschen Annahmen, denn dann haben die Browser zumindest in diesem Fall gar keine Schuld am Verhalten, sondern das Plugin.

19.05.2012 - 22:52 Uhr

... theoretisch müsste es doch funktionieren, oder?

Ja, kann funktionieren, wenn man weiß was man macht(Stichwort Encoding etc.), aber man sollte dann besser gleich sowas wie BinaryWriter nehmen.

Was ich halt gerne umgehen würde, ist, dass ich selber eine Klasse schreiben muss, die die entsprechenden Dateien aus dem Ordner holt und dort wieder abspeichert.

Was soll denn an

Image x = Image.FromFile("...");

umständlicher als an

Image x = Properties.Resources.ABC

sein?

19.05.2012 - 21:47 Uhr

Noch umständlicher gehts nicht, oder?

Ist doch völliger Murks zu versuchen Bilder als Text zu speichern. Wenn du veränderliche Dateien hast, dann tu sie ins ApplicationData Verzeichnis rein und gut ist. Da kann dein Program Dateien lesen und schreiben wie es will

Die embedded Resourcen schreiben zur Laufzeit kann schon gar nicht gehen, da du gar nicht im Programmverzeichnis schreiben darfst, also auch nicht die ausführbare Datei ändern.

Wenn du, warum auch immer, alles in einer Datei haben willst, dann benutzt sowas standardartiges wie zip Files.

19.05.2012 - 16:29 Uhr

Für was dient das denn eigentlich? Gibst du einen Takt vor oder überträgst du Nutzdaten?

19.05.2012 - 16:20 Uhr

Hallo,

Was du auf jeden Fall nicht berücksichtigst, sind die Laufzeiten deiner Send Methode. Die führst du aus nachdem dSwIntervall vergangen ist und nach der Send Methode, startest du den Timer neu. Mal angenommen die Send dauert ebenfalls so lang wie dSwIntervall hast du auf einmal nur noch die halbe gewünschte Frequenz.

So oder so wirst du deine Zeiteinschränkungen kaum so einhalten können. 1000 Hz sind immerhin eine Millisekunde Sendeabstand. Daher wirst du alleine durchs Threadscheduling des OS locker Ungenauigkeiten die im hundert Hz Bereich liegen haben und nicht 30 Hz. Und dann hast du ja auch noch das Netzwerk als Kommunikationsstrecke wo Netzwerktreiber, eventuelle Router etc. jeweils puffern und gewisse Laufzeiten haben.

19.05.2012 - 09:21 Uhr

Hallo,

klar gibts die. Schau dir einfach mal die MediaElement Klasse an. Ansonsten gibts hier z.B. noch was fortgeschrittenes, falls man aufgefallenere Features benötigt.

17.05.2012 - 22:17 Uhr

ja, negativer Kehrwert klingt gut 😃 Dann nimmst noch einen Punkt auf der Ursprungsgeraden und damit kannst du dann die Geradengleichung für die Senkrechte bilden und damit dann beliebige Punkte für diese ausrechnen.

Bezüglich rüberzeichnen - mach die Lines halt nicht zu lang 😉 Oder schau dir mal das ClipToBounds Property vom Canvas an.

17.05.2012 - 22:11 Uhr

Das mit Den Grundlagen war auf das casten bezogen, nicht unbedingt auf das andere.

Ja, der ContentPresenter hat in der Tat kein eigenes Foreground Property weil der ja viel zu weit unten in der Vererbungshierachie ist. Es wird von Control deklariert und das kannst du auch aufm ContentPresenter setzen. Sprich statt einfach Foreground schreibst du Control.Foreground im Trigger.

17.05.2012 - 19:17 Uhr

Hallo,

jein 😃 Es gibt kein Property wo man setzen kann. Die Beschränkung kommt aus Zeiten von .Net 2.0 welches noch auf Windows 98 lief und dort gabs die Obergrenze von 64 Zeichen. Auf StackOverflow gibts den Beitrag How can I show a systray tooltip longer than 63 chars? der zeigt wie man das Umgehen kann und die aktuelle Beschränkung von 128 Zeichen nutzen kann.

17.05.2012 - 18:29 Uhr

Weiterlaufen geht so nicht, da die Line ja eine Strecke und keine Gerade ist. Sprich du hast ja deine beiden Punkte und dawzischen zeichnest du die Strecke. Ich würde einfach zwei zusätzliche Lines dazu benutzen, die jeweils von einem Punkt weiterführen bis zur Bildbegrenzung. Die Geradengleichung brauchst du ja sowieso für die Senkrechte und damit kannst du dann auch problemlos berechnen wo die Geraden (auf der die Strecke liegt), die Bildränder schneidet und hast damit deine beiden anderen Punkte die du für die weiteren Lines benötigst.

17.05.2012 - 18:22 Uhr

Hallo,

Es geht also nicht über XAML! ... Da werde ich es über C#-Code versuchen. Das Binding im Code zu definieren, ändert nichts an der Situation. Du meinst eher ne direkte Zuweisung des Brushes, statt dem Binding oder?

Bin aber dann am Umwandeln von Brush nach
SolidColorBrush (und zurück) gescheitert. Bei sowas immer [Hinweis] Wie poste ich richtig? Punkt 5 beachten, sonst kann dir keiner helfen. Wobei casten ja zu den absoluten Grundlagen gehört. Wenn dein Button ne allgemeine Komponente werden soll, wo beliebig eingesetzt werden soll, dann darfst du aber keinesfalls davon ausgehen, dass der Foreground nen SolidColorBrush ist. Da sind beliebige Brushes erlaubt.

Ich weiß
auch dass das die Farbe des Button ändert. Das ist so nicht richtig. Im Standardtemplate vom Button ist einfach ein ContentPresenter drin der den, dem Button zugewiesenen, Content anzeigt. Und für Text als Content (was wohl der Standardfall ist) wird automatisch durch den ContentPresenter nen TextBlock erzeugt, und der zeigt den Text dann mit dem Brush vom Foreground Property an. Sprich, an der eigentlichen Farbe des Buttons ändert das Foreground Property nichts im Standardtemplate.

In deinem Template hast du ja auch nen ContentPresenter welcher den Button Content anzeigt. Im Prinzip brauchst du nur für den ContentPresenter in nem Style einen Trigger definieren, der abhängig von deinem Zustandsproperty des Buttons, den Foreground des ContentPresenters auf den Foreground, bzw. den CheckedForeground vom Button setzt.

17.05.2012 - 17:13 Uhr

Hallo,

die Senkrechte einer Geraden zu finden ist einfachste Mathematik. Da gibts genug Material über die Suchmaschine deiner Wahl.

Bezüglich dem gestrichelten - schau dir einfach mal das StrokeDashArray Array der Shape Klasse an.

Und den Rest hast du doch schon zusammen. Oder wo hast du noch nen Problem?

PS: Der Threadtitel ist verwirrend, da du ja grad nicht auf das Canvas was zeichnest, sondern dem Canvas (so wie man es ja auch machen sollte) einfach Shapes als Kindlemente hinzufügst.

17.05.2012 - 15:27 Uhr

Jein,

MAn kann so keine Parameter mitgeben, weil man ja nichts mit dem Aufruf dex Eventhandlers zu tun hat, sondern der Button ruft einfach die angegebene Methode auf, und der Button setzt EventArgs etc. Aber, der sender ist ja dein Button, und anhand dessen kannst du ja entscheiden welcher Button es war und wies dann weitergehen soll.

Ich persönlich würde aber unterschiedliche Eventhandler benutzen und im eigentlichen Eventhandler dann immer nur ne gemeinsame Methode aufrufen mit dem entsprechenden Parameter. So vermeidet man ewiglange if/else - switch Blöcke bei vielen unterschiedlichen Eventauslösern.

17.05.2012 - 12:59 Uhr

Hallo,

deine Idee ist schon ganz richtig, aber so wie du die Klassen durcheinander wirst, fehlt da wahrscheinlich noch ein bisschen der Zusammenhang.

aus dem Visual3D Objekt ein Geometry3D Objekt zu machen Geht nicht. Sind zwei völlig unterschiedliche Dinge.

Ein Visual3D ist ein Objekt, welches in einem Viewport3D angezeigt wird und allgemeines 3D Zeugs bereitstellt, wie z.B. Hit-Testing, Transformation, etc. Das Objekt selber hat erstmal keine Darstellung, sondern zeigt ein Model3D an.

Jetzt gibts verschiedene Model3Ds wie z.B. das GeometryModel3D was hier benötigt wird. Und dieses GeometryModel3D besteht eineseits auf der Geometry3D welches die eigentliche Form beschreibt und dem (Back)Material welches das Aussehen der Oberfläche darstellt.

Jetzt hast du also die Möglichkeit ein festes Geometry3D Objekt zu erstellen und immer wenn du nen anderes Material benötigst ein GeometryModel3D aus fester Geometry3D und dem neuen Material zu erstellen und dieses GeometryModel3D kannst du dann dem Visual3D wo es angezeigt werden soll, neu zuweisen.

Wenn man die Zusammenhänge zwischen den Klassen kennt, ist es natürlich auch problemlos möglich bei bestehenden Objekten über die entsprechenden Properties auf das Material zuzugreifen und dann zu ändern, wobei dort ne Menge Casts notwendig sein können, da z.B. Properties wie Visual3DModel von Visual3D mit den abstrakten Basisklassen (hier. Model3D) arbeiten.

16.05.2012 - 08:58 Uhr

Hallo,

hier gibts ne Diskussion in der erklärt wird, warum das nicht geht.

...the To property and From property of ColorAnimation can't be bind with, because of those properties need to be frozen (unchangeable) for the animation to work.

So please use specific color to instead of binding.

ForeColor gibt es nicht. Es gibt Foreground - das wird im Template benutzt um die Schriftfarbe des Buttons zu setzen, wobei Farbe nicht ganz richtig ist, das es ja nen beliebiger Brush sein könnte.

16.05.2012 - 06:22 Uhr

Hallo,

was hast du denn nun? Im Titel sprichst du von GridView, welches ne View der ListView ist, und im Text von DataGrid. Sind zwei unterschiedliche Dinge.

Wobei das DataGrid für sowas viel geeigneter ist. Das bietet nämlich Unterstützung für IEditableObject. Implementier das in deine Datenobjekte und schon sollte es gut klappen mit dem Inline Editing.

15.05.2012 - 14:53 Uhr

Hallo,

du kannst nen Sprachfeature verwenden, welches es seit .Net 1.1 gibt: params

15.05.2012 - 13:02 Uhr

Hallo,

was da bei Plattform steht ist net immer das was man sucht. Wichtiger ist, was bei Version Information beim Framework steht und da steht in deinem Fall kein CompactFramework. Wenn da was unterstütz werden würde, würde sowas wie

.NET Compact Framework
Supported in: 2.0, 1.0 stehen.

14.05.2012 - 13:40 Uhr

Hallo,

das ist meiner Meinung nach Anfängerwissen, was hier Voraussgesetzt wird!

Und meiner Meinung nach sollte man ein Posting lesen bevor man darauf antwortet...
Wie Boonlight84 auch schon wiederholt hat, macht der gepostete Code genau das.

@Boonlight84
Das Event wird ja für die Form aboniert - bist du dir sicher, dass du auch versuchst auf die Form zu draggen? Ein Panel in der Größe der Form z.B. reicht ja schon, dass von der Form an sich nichts mehr sichtbar ist und diese keine Events mehr bekommt, weil die das Panel davor dann bekommt.

13.05.2012 - 13:17 Uhr

Hallo,

Im vorhinein planen wäre ne Idee 😉 Was du beschreibst ist genau das, was nen Programmierer vom Softwareentwickler unterscheidet. Zur Softwareentwicklung gibts unzählige Bücher und dutzend unterschiedliche Herangehensweisen. Der Wiki Eintrag Softwareentwicklung gibt da ne grobe Übersicht zum weiter einlesen ins Thema.

Im klassischen Idealfall hat man das Programm komplett durchgeplant und die eigentliche Programmierung ist dann in kürzester Zeit erledigt, weils nur noch in Code herunterschreiben des geplanten ist. Den Idealfall gibts so natürlich nie und einige Entwicklungsmodelle unterscheiden sich auch komplett von dem Ansatz. Da muss man sich bissle durchwühlen, welchen Entwicklungsmodell einem am meisten passt. Wenn man aber immer wieder beim programmieren merkt, dass man umstrukturieren muss, weil man was vergessen hat, dann macht man definitiv was falsch.

13.05.2012 - 11:17 Uhr

Hallo,

<TextBlock Text="{Binding Path=Counter}" />  

Solche Bindings in einem UserControl sind dazu verdammt zu scheitern. Du bindest ja gegen den DataContext und der ist erstens nie automatisch das eigene Objekt wie leider viel zu oft angenommen wird und zweitens beliebig durch den Programmierer setzbar. Die Chance das das Binding wie gewünscht klappt sind daher äußerst gering, selbst wenn man den DataContext im UserControl auf das eigene Objekt setzt.

Man hat zwei Möglichkeiten: Mit RelativeSource arbeiten und sich das UserControl Objekt den VisualTree hoch zu suchen, oder dem UserControl einem Namen geben und mit ElementName im Binding zu arbeiten.

Aber das scheint hier nicht zwangsläufig das Problem zu sein, da du ja schreibst, dass erst bei der Verwendung des UC mit einem Binding statt festem Wert das Problem auftritt. Dort ist die Sache aber wieder genauso.

<Controls:BalloonCounter Counter="{Binding CommentCount}" />  

Du bindest gegen den DataContext. Ist dieser richtig gesetzt? Was ist CommentCount für ein Property? Wenn es ein DP ist alle okay, ansonsten muss man drauf achten INotifyPropertyChanged korrekt zu implementieren.

12.05.2012 - 09:28 Uhr

Hallo,

green Threads gibt es in .Net nicht. Das Threadscheduling übernimmt das OS.
Wobei das nicht heißt, dass ein im managed Code erzeugter Thread genau einem bestimmten OS Thread entspricht.

Mit der TPL in .Net 4 abstrahiert man da noch mehr und denkt nicht mehr in Threads sondern in Tasks die erledigt werden müssen. Wieviel Threads und welche eingesetzt werden, managed die TPL automatisch.

09.05.2012 - 15:19 Uhr

Hallo,

benutz DataBinding mit ordentlich implementierten INotifyPropertyChanged. Dann kriegt das DataGrid auch mit, dass sich nur einzelne Werte geändert haben.

Ich weiß auch nicht was du refreshed, aber hört sich so an, als wenn das DataGrid ne komplett neue Datenquelle bekommt, und dann ist klar, das es sich völlig neu initialisiert.

09.05.2012 - 15:15 Uhr

Hallo,

Oder stehen beide Varianten vom Verhalten her analog zueinander?

Wenn du nur den Konstruktor mit einem Argument benutzt, sind sie relativ gleich, im zweiten Fall gibts aber keinen Standardkonstruktor und das ist nen riesen Unterschied zum ersten Fall.

Man muss auch auf das Laufzeitverhalten aufpassen. Defaultwerte werden bei der Kompilierung reinkompiliert. Wenn man Assembly A hat mit z.B. deinen Konstruktor und Assembly B wo ihn benutzt, dann kompiliert man A mit z.B. 0 als Defaultwert, kompiliert B, ändert den Wert auf A in 5 und wenn man jetzt das Programm ausführt, fällt man auf die Nase, da B immer noch von 0 ausgeht, und nicht von dem aktuellen Wert.

04.05.2012 - 11:29 Uhr

Hallo,

ich seh das Problem nicht auf Ebene einer Anwendung, sondern sowas stellt man doch global in der Systemsteuerung für das entsprechende Gerät ein.

03.05.2012 - 14:34 Uhr

Aber im obrigen Code hast du doch den EventHandler für das ItemsControl angemeldet und das bekommst du doch jetzt auch. Was willst du denn da sonst haben?

03.05.2012 - 09:32 Uhr

Hab mich geirrt, der ScrollViewer kommt echt erst mit Selector rein, nicht schon mit dem ItemsControl. Dann würde ichs auch so im Template machen wie du. Warum der button nicht mehr kommt, weiß ich nicht genau, aber du kannst auch problemlos das entsprechende PreviewEvent nutzen.

03.05.2012 - 09:28 Uhr

Hallo,

was heißt, "nicht möglich darauf zuzugreifen"? DynamicRessource ist nen typischer Fall den VS normalerweise nicht richtig auflösen kann, zur Laufzeit sollte es aber tun.

02.05.2012 - 14:39 Uhr

Wieso legst du überhaupt einen ScrollViewer drum herum? Das ItemsControl besitzt doch schon einen.

02.05.2012 - 12:01 Uhr

Hallo,

lies doch einfach erst die Dateinamen aus, und tu sie dann nach Excel. Wenn du sie erst einliest, hast du die Anzahl und musst nicht von festen Werten wie deinen 20 ausgehen.

01.05.2012 - 17:49 Uhr

Kommt drauf an wie man zeichnet.

Wenn du darunter das Anlegen eines Shapes verstehst, welches du nur hidden machst, dann ist das nicht sehr sinnvoll, da die Elemente trotzdem die ganze Zeit am Layouting teilnehmen und man in blöden Fällen halt auch durch unsichtbare Elemente die Performance ziemlich in Keller ziehen kann. Die verschiedenen Fälle die man sich da vorstellen kann, wären aber ne eigene Frage wert.

01.05.2012 - 00:05 Uhr

Hallo,

Zu prüfen ob du noch innerhalb der Zeit bist geht doch ganz einfach, indem du dir die Startzeit des ganzen merkst und immer vergleichst ob die Differenz von anfänglicher Startzeit zur Startzeit der nächsten Aktion kleiner ist als die Differenz von ursprünglicher Startzeit zu DateTime.Now.

Aber wieso arbeitest du mit Ticks Angaben? Ich hoffe doch, du nimmst nicht an, dass die Timer eine Genauigkeit im niedrigen Tick Bereich haben. Ein Tick sind hundert Nanosekunden. Alleine durch den Thread Scheduler vom OS bekommst du bei den Timern im schlimmsten Fall Ungenauigkeiten im Millisekunden Bereich was dann einige 10000 Ticks sind.

30.04.2012 - 15:24 Uhr

Statt aus dem Image Objekt die Nummer zu holen und danach dann zu entscheiden welches Image das war, kannst du doch gleich das Image übergeben.

29.04.2012 - 15:46 Uhr

Hallo,

wie kommst du drauf, dass 99,9 % des Codes gleich ist? Man muss sich bewusst sein, dass das .Net Framework und das WinRT Framework komplett unterschiedliche Dinge sind. Es stimmt natürlich, dass das WinRT Framework viele Anleihen am .Net Framework nimmt und in vielen einfachen Fällen man nur Namespaces ändern muss. Noch viel mehr gibts aber auch große Unterschiede. Alleine die Tatsache das die WinRT Api asynchron arbeitet ergibt massig Unterschiede wo man teilweise ganze Konzepte überdenken muss.

Einfache Dinge wie Usings kann man durch Präprozessordirektiven mache.

29.04.2012 - 09:14 Uhr

Hallo,

die muss natürlich auf compile stehen. Wie du schon sagst ist das ganz normaler Quellcode und der generiert dir nämlich die Wrapper damit du mit MyProjectName.Properties.Resources... auf die Ressourcen zugreifen kannst.

28.04.2012 - 19:37 Uhr

Der WPF Designer in VS 2010 ist nicht so dolle. Der kann bei weitem nicht alles was WPF kann. Grad was Ressourcen angeht gibts einige Mängel. Oft kommen dubiose Fehler die man getrost vergessen kann, solange es zur Laufzeit funktioniert.

27.04.2012 - 19:46 Uhr

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:41 Uhr

Hallo,

LayoutTransform.ScaleY gibt es nicht, da LayoutTransform vom abstrakten Typ Transform ist. ScaleY gehört zur ScaleTransform.

allerdings möchte ich nicht dass die Listboxen skalliert werden. Wie kommt man dann überhaupt auf die Idee ne ScaleTransform zu benutzen, die ist doch da um zu skalieren!?!

Wie sollen die ListBoxen denn erscheinen? Anscheinend ja nicht wachsend, weil das wäre die ScaleTransform. Wie denn dann?

26.04.2012 - 19:39 Uhr

Hallo,

wie lang ist denn eine "lange Stringzeile" bei dir? Aber prinzipiell kann das schreiben einer Datei natürlich lange dauern, gerade auf Geräten mit eingeschränkten Ressourcen.

Die Lösung mit eigenen Threads hast ja schon gefunden.

25.04.2012 - 14:29 Uhr

Hallo,

wie immer hilft [Hinweis] Wie poste ich richtig? Punkt 1.1 weiter. In der Doku zum Label steht erklärt welche Bedeutung der Unterstrich hat.

23.04.2012 - 13:39 Uhr

Hallo,

...Dabei soll eine Priorisierung der verschiedenen Sensoren erfolgen, zb. Puls soll Priorität 1 erhalten und demnach öfter ausgelesen werden als zb GPS mit einer niedrigeren Priorität.

"öfter" ist ja ne zeitliche Aussage - bei unterschiedlichen Threadprioritäten passiert ja erstmal von sich aus nichts öfter und weniger oft. Das muss man so oder so einbauen. Ich würd einfach nen Timer dafür benutzen. Die Sensoren haben im Windows Phone eh ne bestimmte Taktung mit der die Werte nur aktualisiert werden. Das ist auch nicht beliebig.

22.04.2012 - 13:35 Uhr

Hallo,

den Fokus kann man nicht löschen, man kann ihn höchstens einem anderen Element geben, weil irgendetwas muss immer den Focus haben. Das ist hier aber nicht die Ursache. Der Grund ist das Mouse Capturing. Wenn du Left drückst und dann zu einem anderen Button verschiebst, ist das im Prinzip ne Drag Operation. Damit das richtig funktioniert, bzw. Elemente wo man dann rüberfährt nicht falsche Mouseevents bekommen, hat sozusagen immer noch das Ausgangselement die Mouse. Siehe hier in der MSDN dazu.

21.04.2012 - 22:20 Uhr

hmm, stimmt...

Dann bleibt dir wohl nichts anderes übrig als doch mit Code zu arbeiten. MouseEnter liefert dir passende Eventargs mit denen du den Status der einzelnen MouseButtons abfragen kannst.

21.04.2012 - 20:34 Uhr

Das mit der gedrückten Maustaste hatte ich überlesen 😕

MouseLeftButtonDown ist schon richtig, aber beachten was für die Buttons gilt:

The ButtonBase marks the MouseLeftButtonDown event as handled in the OnMouseLeftButtonDown method and raises the Click event. Hence, the OnMouseLeftButtonDown event will never occur for a control that inherits from ButtonBase. Instead, attach an event handler to the PreviewMouseLeftButtonDown event

Dort steht auch, welches Event du stattdessen benutzen musst.

21.04.2012 - 19:23 Uhr

Hallo,

Drag hat auch nichts mit Mouse übers Control fahren zu tun, was du suchst, sollte doch MouseEnter sein, oder? Mitm EventTrigger liegst du schon richtig, dort könntest du das IsChecked Property setzen.

18.04.2012 - 09:02 Uhr

Hallo,

Assembly A wird von C geladen, sonst könntest du es ja nicht nutzen. Und A hat als Referenz B. Daher brauch C auch B über A. Da kannst du nichts ändern. Was für Methoden du im konkreten aufrufst ist egal, die Assemblies müssen immer komplett geladen werden.

16.04.2012 - 21:18 Uhr

Hallo,

bitte beachte unsere Postingregeln: [Hinweis] Wie poste ich richtig?
Insbesondere Punkt 4 gegen den du hier verstößt.

Achja, 2011 war am 24.4. Ostersonntag, nicht am 20.4 wie von dir genannt.
Und noch als Anmerkung zu dem von chilic gesagten: Die Osterformel rechnet für den gregorianischen Kalender das Datum aus. Wenn man ein altes Datum im julianischen Klaender hat, muss man entsprechend umrechen.

16.04.2012 - 14:58 Uhr

Hallo,

ja die werden mit reinkompiliert. Das ist doch der Sinn der Resourcen.

Das eine hat mit dem anderen aber nichts zu tun. Bei Referenzen ists ja ähnlich, die kann man auch ausm GAC referenzieren und trotzdem lokal kopieren lassen.

16.04.2012 - 13:38 Uhr

Eingebettete Ressourcen (das standard .Net Ressourcensystem) sind in WPF Mist, weil die gar nicht die WPF Typen können. Da bekommt man ne Windows Forms Bitmap zurück wenn man das so wie vorgeschlagen benutzt.

Einfach als Resource als Build Action und dann wie im verlinkten Artikel per URI darauf zugreifen.

16.04.2012 - 11:51 Uhr

Dann weiß ich nicht was für nen Rahmen du meinst. Wenn du den allgemeinen Hintergrund meinst, musst du den natürlich auf Transparent machen.