Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Doltsche
Thema: Eine X-/Y-Achse dynamisch beschriften
Am im Forum: Grafik und Sound

Hallo Community

Bereits vor einem Jahr war ich damit beschäftigt, ein Chart-Control mit Silverlight zu realisieren. Knifflig wurde es beim dynamischen Beschriften der Achsen. Offenbar ist es nicht unbedingt die optimale Lösung, die Grösse des gerenderten Achsenlabels zu ermitteln und anschliessend zu berechnen, wie viele von diesen Labels auf einer Achse mit einer gegebenen Länge Platz haben. Zumal gerade in Silverlight das Ermitteln der Dimensionen eines gerenderten Labels/Strings nur mit Basteln während dem Layoutpass möglich ist. Meine Logik sagt mir deshalb, dass es auch andere Lösungsansätze geben muss.

Da ich wieder mit eigenen Chart-Controls konfrontiert bin (Schulprojekt, Funktionsgraph), suche ich nach einer gängigen Methode auf dynamische Weise zu bestimmen, wie viele Labels ich auf einer Achse zur Beschriftung verteilen kann. Das Ganze soll dabei Sprachunabhängig sein. Es geht mir um den generellen Lösungsansatz.

  • Eine Möglichkeit wäre zum Beispiel eine vordefinierte Grösse für alle Labels. In diesem Fall wird es aber problematisch mit einer dynamischen Schriftgrösse.
  • Eine andere Idee wäre, auf gut Glück Labels zu platzieren, und diejenigen, die sich überlappen zu entfernen. Das würde aber wiederum zwei Renderdurchläufe benötigen.

Welche Ideen habt ihr zur Lösung dieses Problems?

Gruss

Samuel

Thema: Prüfen ob Excel auf Server vollständig installiert ist
Am im Forum: Office-Technologien

Hallo ronny75

Probier mal folgendes:


Type officeType = Type.GetTypeFromProgID("Excel.Application");
if (officeType == null)
{
     // Excel ist installiert
}
else
{
     //Excel ist nicht installiert
}

Gruss

Samuel

Quelle: stackoverflow.com

Thema: Automatisierte Systemtests mit Coded UI
Am im Forum: Rund um die Programmierung

Hallo Community

Eine Benutzeroberfläche auf seine Funktionalität zu testen ist ganz nett, muss aber nicht zwingend etwas über die Funktionalität des gesamten Systems sagen. Folgendes: Bei unserer internen Anwendung können über eine Benutzeroberfläche (Client/Web) Prozesse (BizTalk, Umsysteme) ausgelöst werden, deren Bearbeitung auch gut mehrere Stunden in Anspruch nehmen kann. Erst nach Ablauf dieser Zeit kann das Ergebnis wirklich verifiziert werden.

An diesem Punkt macht mir nun das Testframework von Microsoft etwas zu schaffen (ob jetzt Coded UI oder Unit Test). Die einfachste Lösung wäre in einer Testmethode einen entsprechenden Prozess auszulösen und anschliessend zu warten bis dieser fertig ist. Bei diesem Vorgehen und bei 30 - 40 weiteren Tests dauert dass dann schnell mal mehrere Tage bis alle Tests durch sind. Im täglichen Geschäft eher undenkbar.

Ich habe folgenden Workaround gemacht: Ich führe zuerst alle prozessauslösenden Tests hintereinander aus (Ordered Test) und speichere die Prozess-Id in einer Textdatei zwischen. Der Austausch über eine globale Variable ist scheinbar nicht möglich.

Nach dem alle diese eher nichts aussagenden Tests durch sind, kommen die auf das Prozessergebnis wartenden Tests an die Reihe. Hier wird dann wirklich gewartet bis der Prozess durch ist. Während dieser Zeit laufen nun aber auch die anderen Prozesse. Folglich hat nur die erste derartige Testmethode lange zu warten.

Diese Lösung ist aber gänzlich Ungünstig. Vorallem wenn man mit Microsofts Test Manager und dessen Statistiken arbeiten will. Denn die prozessauslösenden Tests werden immer erfolgreich sein, was dazu führt, dass der gesamte Test immer mindestens zu 50% erfolgreich ist, auch wenn das ganze Umsystem zu 100% versagt.

Ich hoffe ihr seht was ich meine. Sehr würde ich mich über Vorschläge für eine bessere Lösung freuen.

Zusammenfassend sei nochmals zu sagen: Es geht darum, mehrere Prozesse automatisiert über eine Benutzeroberfläche zu starten und anschliessend deren Ergebnis abzuwarten, was mehrere Stunden in anspruch nehmen kann. Letzteres sollte "Parallel" geschehen können weil die Tests ansonsten zu lange dauern.

Beste Grüsse

Samuel

Thema: dofactory - .NET Design Pattern Framework 4.0: Lohnt sich das?
Am im Forum: Smalltalk

Zitat von Abt
Und kommerzielle "Best Practices" sehe ich immer sehr skeptisch an. Kann aber zum Inhalt nichts sagen.
Ich würds mir jedenfalls nicht kaufen.

Das sehe ich ebenfalls ein bisschen so. Daher auch die Frage.

Thema: dofactory - .NET Design Pattern Framework 4.0: Lohnt sich das?
Am im Forum: Smalltalk

Hallo community

Wenn man im Netz nach Design Patterns sucht, landet man in der Regel schnell auf der Site von dofactory.

Diese werben mit ihrem Produkt ".NET Desing Pattern Framework 4.0" welches sozusagen eine Sammlung von Referenzimplementierungen und Design Pattern umsetzungen ist. Meine Frage ist, ob sich das jemand von euch jemals gekauft hat oder etwas davon in einer Richtung hörte? Ist das etwas, oder ist das einfach eine "Sammlung von Internetartikeln", die verkauft wird?

Gruss

Samuel

Thema: Aktionen in der GameLoop auf Threads (Mulitcores) verteilen
Am im Forum: Rund um die Programmierung

Ok, da stimme ich dir voll und ganz zu. Der Schwerpunkt bei der Entwicklung für Computerspiele liegt dann wohl hald eher darin, dass Betriebssystem mit unkonventionellen Mitteln dazu zu "missbrauchen". Das wiederum macht dann für mich auch die technische Seite der Spieleindustrie insgesamt sehr spannend. Aber ich denke, wir schweifen nun doch zu sehr von der ursprünglichen Fragstellung ab.

Thema: Aktionen in der GameLoop auf Threads (Mulitcores) verteilen
Am im Forum: Rund um die Programmierung

Nun gut, aber gerade unter Computerspielern ist Windows die einzige wirkliche Wahl überhaupt. Es erscheinen ja nicht ohne Grund sämtliche Computerspiele für Windows und nicht für andere Plattformen wie iOS oder Linux.

Danke für den Link. Der scheint genau auf dieses Thema einzugehen .

Thema: Aktionen in der GameLoop auf Threads (Mulitcores) verteilen
Am im Forum: Rund um die Programmierung

Vieleicht an dieser Stelle noch ein Link, der mich überahaupt auf dieses Thema gebracht hat: Threading and Your Game Loop. Der Author geht sogar noch weiter mit Batched Multithreading. Die Authoren, welche dort Ihre Beiträge veröffentlichen scheinen mir nicht unbedingt beschränkt. Es wird also sicherlich durchaus seinen Grund haben, die GameLoop auf mehrere Threads zu verteilen.

Das mehrere Threads genau das Gegenteil von Performance bewirken können wegen dem Kontextwechsel gab mich dann auch den Anstoss auf die Frage, ob es möglich ist, die Threads explizit auf verschiedene Cores zu verteilen. Weil sonst hat man, wie Abt sagt, nur einen Performanceverlust.

Gruss

Samuel

Thema: Aktionen in der GameLoop auf Threads (Mulitcores) verteilen
Am im Forum: Rund um die Programmierung

Der Fakt, dass die Anzahl an Cores bei der Xbox vorneherein bekannt ist, ist da sicherlich hilfreich. Aber ehrlich gesagt, findet man auf dem Markt für den Home-User kaum noch ein Computer mit einem Single Core Prozessor.

Wäre es in dem Fall unschön, selber zu prüfen, ob die CPU mindestens zwei Kerne hat und dann anhand dieses Wertes die Verteilung der Threads auf die Cores manuell vorzunehmen?

Gruss

Samuel

Thema: Aktionen in der GameLoop auf Threads (Mulitcores) verteilen
Am im Forum: Rund um die Programmierung

Das Rendern und Updaten auf verschiedene Cores zu verlagern macht schon Sinn.
Das Prinzip ist sehr ähnlich dem Image Buffer in einer Grafikkarte. Sowohl Render als auch Update werden letztendlich sequentiell ausgeführt. Nur das hald während dem Rendern vom letzten Update bereits das nächste Update berechnet wird usw.

Edit: Auch id Software verwendet eine ähnliche Stratgie: Doom BFG Multithreading Dort ist allerdings zu beachten, dass dort beim Rendering zwischen Frontend und Backend rendering unterschieden wird. Das Frontend rendering wird zwar in der Tat auf dem gleichen Thread wie das Gameupdate ausgeführt, nicht aber das Backend rendering. Dieses hat einen anderen Thread zu Verfügung.

Thema: Aktionen in der GameLoop auf Threads (Mulitcores) verteilen
Am im Forum: Rund um die Programmierung

Hallo Community

Die Klassische GameLoop bei einem Computerspiel sieht vor, dass sequentiell eine Updatemethode, gefolgt von einer Rendermethode in einer Endlosschleife ausgeführt wird. Diese Technik unterstützt aber nicht wirklich die Verfügbarkeit von mehreren Prozessorkernen, da sowohl das Rendering als auch das Update im gleichen Thread ausgeführt werden.

Ein Ansatz wäre nun ein separater Render-Thread und ein Update-Thread, welche in Form einer Pipeline parallel ausgeführt werden. Das erlaubt die Berechnung des Spielstatus auf dem einen Kern während der vorhergehende Status noch auf dem anderen Kern gerendert wird.

Ein ähnliches Modell zur Realisierung einer GameLoop sieht auch Microsoft vor: Coding For Multiple Cores on Xbox 360 and Microsoft Windows

An dieser Stelle kommt aber meine Frage ins Spiel: Warum wird nur auf der Xbox eine Aufteilung der GameLoop in ein Render und Update-Thread vorgesehen, nicht aber bei Windows (abgesehen von zusätzlichen Berechnungsthreads)?

Gruss

Samuel

Edit: Ein Grund für den gemeinsamen Render-Update-Thread bei Windows mag die Tatsache sein, dass die Anzahl Kerne von Computer zu Computer variiert. Und die Anzahl der Kerne zu ermitteln und dann eine manuelle Threadverteilung zu machen wäre zu komplex. Ist das aber nicht sowieso die Aufgabe des Betriebssystems? Respektive, wenn die Update und Render-Methoden in einem Thread ausgeführt werden, hat das Betriebssystem gar nicht erst eine Chance, die Threads auf mehrere Kerne zu verteilen.

Das angehängte Bild zeig die Threadaufteilung einer GameLoop im Falle der Xbox 360. Im Fall von Windows sind die ersten beiden Threads (Game Update und Render) zu einem Thread zusammengefasst.

Thema: Hardware High-Resolution Timer vs. DateTime.Now
Am im Forum: Rund um die Programmierung

Hallo Community

Als ich mir die .NET Klasse StopWatch anschaute, bin ich auf den High-Resoultion Timer gestossen, welcher Hardware unterstützt ist, sofern denn überhaupt vorhanden.

Auf meinem Computer ist zum Glück die entsprechende Hardware unterstützung vorhanden und ich habe mit QueryPerformanceFrequency die entsprechende Frequenz-"Konstante" abgefragt. Zu meiner Verwunderung ware deren Auflösung aber ca. 3 Mal kleiner, als der Wert TimeSpan.TicksPerSecond. Wieso ist nun hier die Rede von High Resoultion, wenn doch DateTime.Now.Ticks eine viel grössere Auflösung liefert?

Mit Sicherheit habe ich etwas falsch verstanden, aber mir ist an dieser Stelle nicht klar, was genau. Daher hoffe ich auf eure Richtigstellung.

Gruss

Samuel

Thema: [Erledigt] ASP Server Control mit JavaScript generieren
Am im Forum: Web-Technologien

Ich werde meinen Lösungsansatz noch aufbereiten und anschliessend im Start-Thread posten .

Gruss

Samuel

Thema: Bitte um Erklärung der ViewState
Am im Forum: Web-Technologien

Der ASP.NET ViewState ist bei der WebForms Technologie ein elementares Grundkonzept. Ohne dich angreifen zu wollen ist meine Meinung, dass wenn man sicht nicht selbstständig in solche Konzepte einarbeiten kann, es keinen Sinn macht, überhaupt etwas mit ASP.NET anfangen zu wollen.

Am besten du liest die folgende Einführung zum Thema ViewState auf folgender MSDN Site durch: ViewState

Sobald du das wirklich verstanden hast, solltest du auch selbstständig auf die Lösung deiner Problematik kommen.

Gruss

Samuel

Thema: [Erledigt] ASP Server Control mit JavaScript generieren
Am im Forum: Web-Technologien

Hallo Abt

Danke für deine Antwort. Das wird wohl in der Software-Entwicklung immer ein Problem bleiben, dass fortlaufend neue Features zu einem System hinzugefügt werden müssen, die nicht vorabsehbar waren.

Wie dem auch sei habe ich nun ein ganz anderen Lösungsweg gefunden, das jQuery DataTables Plugin in ASP.NET WebForms vollumfänglich zu integrieren.

Beste Grüsse

Samuel

Thema: [Erledigt] ASP Server Control mit JavaScript generieren
Am im Forum: Web-Technologien

Hallo community

Ich verwende das jQuery Plugin dataTables für eine ASP.NET WebForms Site, stosse aber auf recht viele konflikte mit ASP.NET.

Ein aktuelle Problem, wo ich such und suche, und bisher keine Lösung fand ist folgendes: In einer durch das jQuery Plugin generierten Spalte will ich ein Edit-Button pro Zeile einfügen, der ein ASP.NET Event auf der Server-Seite aufruft. Ohne gross zu basteln geht das nur, wenn ich in der .aspx Datei auch ein konkretes Server Control verwende. Das Rendern der dataTables Zeilen muss allerdings über JavaScript geschehen.

Folglich habe ich mein Button auf diese Weise erstellt:


var editButton = '<asp:ImageButton runat="server" ID="EditButton" OnClick="MenuImageEdit_OnClick" ImageUrl="../Images/edit_icon_large.png" />';
                    editButton.setAttribute('name', 'gugus');
                    return editButton;

Gerendert sieht das dann so aus:

var editButton = '<input type="image" name="ctl00$DefaultContent$EditButton" id="DefaultContent_EditButton" src="../Images/edit_icon_large.png" />';
                    return editButton;

Ich erhalte damit ein input element, dass beim Anklicken ein PostBack auslöst und auf der Server-Seite ein entsprechendes Click-Event aufruft. Was aber scheinbar nicht möglich zu sein scheint, ist dieses gerenderte html element auf irgend eine weise zu modifizieren. Egal, was ich auch versuche. Ich habe mit den jQuery-Methode .attr(), .val() und .prop() versucht, ein Attribut (vorzugsweise das Value und Id Attribut) zu ändern. Ohne Erfolg:

$(editButton).val(data);

oder
$(editButton).attr({"value": data});

Das Attribut selber wird nicht modifiziert.

Daher lautet meine Frage, wie ich mit JavaScript ein HTML Element mit dynamischen Attributen generieren kann, dass ein PostBack auslöst und auf der Server-Seite ein Event wirft.

Gruss

Samuel

Thema: [erledigt] Software Pattern - Prüfen, ob Interface implementert wird?
Am im Forum: Rund um die Programmierung

Besten Dank für eure Auskunft. Das mit dem FxCop ist interessant zu wissen.

Thema: [erledigt] Software Pattern - Prüfen, ob Interface implementert wird?
Am im Forum: Rund um die Programmierung

Hallo Community

In einem Projekt habe ich den Fall, dass abstrakte Elemente in einer Liste abgearbeitet werden. Hierzu werden die Elemente durch iteriert und pro Iteration wird jeweils eine oder mehrere abstrakte Methoden aufgerufen.

Meine Frage an dieser Stelle ist, ob es angebracht ist, bei jeder Itertion zu prüfen, ob das abstrakte Element zusätzlich ein spezifisches Interface implementiert und gegebenen falls dann diese Methode aufzurufen?


foreach(AbstractElement elem in _abstractElements)
{
     elem.AbstractMethod();

     if(elem is IAdditional)
     {
          ((IAdditional)elem).AdditionalMethod();
     }
}

Freundliche Grüsse

Samuel

Thema: [erledigt] Wahrscheinlichkeit von Random beeinflussen
Am im Forum: Rund um die Programmierung

Hallo

Danke für die Antworten.
Das mit dem Random Walk ist genau das, was ich gesucht habe.

Gruss

Samuel

Thema: [erledigt] Wahrscheinlichkeit von Random beeinflussen
Am im Forum: Rund um die Programmierung

Hallo community.

Angenommen, ich möchte zum Beispiel eine Börsensimulation realisieren, verwende ich die Random Klasse und lasse dann in einer Schleife einige Zufallszahlen generieren um diese anschliessend mit einem Chart zu realisieren.

Wenn ich das aber auf diese Weise mache, erhalte ich ein eher regelmässiges Ergebnis. Ich suche daher einen Algorithmus mit welchem ich die Wahrscheinlichkeit von positiven und negativen Peaks beeinflussen kann.

Gruss

Samuel

Thema: Labels auf einer Achse anordnen.
Am im Forum: GUI: WPF und XAML

Danke für den Hinweis. Ich habe ganz vergessen zu erwähnen, dass ich das Projekt in Silverlight realisieren will. Dort ist leider alles etwas zensiert. Die Klasse FormattedText gibt es dort leider nicht.

Edit:

Bei einem erneuten Versuch, einen TextBlock unplugged zu instanzieren und initialisieren hat sich gezeigt, dass die ActualWidth und ActualHeight properties gesetzt sind. Das finde ich an dieser Stelle allerdings mehr als unlogisch. Wie kommt das?

Thema: Labels auf einer Achse anordnen.
Am im Forum: GUI: WPF und XAML

Hallo Community

Ich habe begonnen ein eigenes Chart control in Silverlight zu bauen, was bisher sehr erfolgreich verlief. Allerdings bin ich mit dem Beschriften der Achsen auf ein Problem gestossen.

Auf der Achse (DateTime) soll in regelmässigen Abständen ein Datum mittels eines TextBlocks angezeigt werden. Um das zu erreichen muss ich wissen wie viele TextBlöcke ich auf der Achse platzieren kann. Das ist im Grunde eine simple Rechnung: Achsen-Länge / Textblock-Länge.
Anschliessend habe ich geplant eine entsprechende Anzahl an TextBlock zu instanzen und diese der Achse hinzuzufügen.

Das Problem an dieser Stelle ist allerdings, dass ich die Länge des TextBlocks nicht abfragen kann. Ich habe versucht, die Methode InvalidateMeasure() oder UpdateLayout() einer neuen TextBlock-Instanz mit Text aufzurufen. Beide führen zu keinem Ergebnis, sprich das DesiredSize-property und auch alle andere Grössen-properties des TextBlocks sind 0 oder NaN.

Daher ist meine Frage: Wie kann ich in Silverlight zur Laufzeit herausfinden, wie viele Textblöcke ich in einem Panel mit einer bekannten Grösse platzieren kann, wobei die Grösse des TextBlocks dynamisch errechnet werden soll?

Gruss

Samuel

Thema: Objekt als DataSource für eine Listview
Am im Forum: GUI: WPF und XAML

Hallo

Da kann ich dir folgenden Artikel zum MVVM Pattern von Thomas Claudius Huber sehr empfehlen:

http://www.thomasclaudiushuber.com/articles/200710_ModelViewViewModelArticle.pdf

Gruss

Samuel

Thema: DependencyProperty mit Converter auf sich selbst binden.
Am im Forum: GUI: WPF und XAML

Hallo Community

Im Source Code vom Silverlight Toolkit bin ich auf ein interessantes Konstrukt gestossen, dass zumindest für mich neu ist:


protected virtual void UpdateFormattedContent()
{
    this.SetBinding(FormattedContentProperty, new Binding { Converter = new StringFormatConverter(), ConverterParameter = StringFormat ?? "{0}" });
}

Die Methode stammt aus einem Label Control, dessen Text sich über das StringFormat Dependency Property formatieren lässt. Der zu formatierende Text befindet sich im Dependency Property FormattedContent. Dessen Wert ist im Styling an einen TextBlock gebunden:

<TextBlock Text="{TemplateBinding FormattedContent}" />

Der StringFormatConverter wendet den StringFormat Wert auf den Parameter value des Converters an und gibt den daraus resultierenden Wert zurück:


public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
    if (value as string == null)
          return "The parameter 'value' must be of type 'System.String'.";

    return String.Format(culture, (parameter as string) ?? "{0}", value);
}

Unverständlich an dieser Stelle ist mir allerdings, wieso beim Binding das Property Source nicht auf das DependencyProperty FormattedContent gesetzt wurde. Als ich das Control selber nachgebaut habe, erhielt der Converter im Parameter value einfach eine Referenz auf den aktuellen DataContext des LogicalTree.

Könnt Ihr mir erklären, wieso beim Binding das Source Property im original Source Code nicht gesetzt wurde?

Gruss Samuel

Thema: Zeile in DataGrid geht bei Aktualisierung verloren
Am im Forum: GUI: WPF und XAML

Hast du die Binding.Mode Eigenschaft bei dem Binding auf TwoWay gesetzt? Falls nicht, probier das mal aus.

Ansonsten poste bitte den relevanten Code hier.

Gruss

Samuel

Thema: High Performance Polyline in Silverlight
Am im Forum: GUI: WPF und XAML

Besten Dank für die Antwort.

Zugegebenermassen werde ich für das Projekt letztlich definitiv nicht 1000 Punkte benötigen.
Und auch die Aktualisierung soll in einem viel grösseren Abstand als nur 20 m/s erfolgen.

Trotzdem bin ich etwas überrascht, dass einem bei Silverlight eine derartige Grenze gesetzt ist, was die Grafikperformance betrifft. Meiner Ansicht nach sollte es für einen heutigen Computer nicht wirklich ein Problem sein, eine Polyline mit 1000 Punkten zu rendern.

VISIBLOX zeigt, dass das sogar mit 30000 Datenpunkten geht: Example
In diesem Beispiel gibt es zwar kein Liveupdate, aber man kann die Linien zoomen. Und meiner Meinung nach müssten bei jeder Änderung des Zoomwertes die Polylines neu berechnet und gerendert werden .
Wie haben sie diese Performance erreicht?

Freundliche Grüsse

Samuel

Thema: [erledigt] Custom Window Abdocken
Am im Forum: GUI: WPF und XAML

Hallo StelZenlaeufer

Kannst du den Code mit dem bisherigen Versuch, das Abziehen zu implementieren hier posten?

Gruss Samuel

Thema: High Performance Polyline in Silverlight
Am im Forum: GUI: WPF und XAML

Hallo Community

Um ein einfaches Chartcontrol zu realisieren habe ich in einem Canvas objekt ein Polyline objekt untergebracht:


<Canvas Name="PART_PlotArea">
       <Polyline Name="PART_Polyline" Points="{TemplateBinding Points}" 
              Stroke="{TemplateBinding Background}" Style="{TemplateBinding PolylineStyle}" />
</Canvas>

Hinten dran wird das Points property alle 20ms aktualisiert:


PointCollection tmp = new PointCollection();
points.ToList().ForEach(p => tmp.Add(p));
Points = tmp;

Das IEnumerable objekt points umfasst 1000 Point objekte.

Das Ganze funktiontiert im Grunde sehr gut, jedoch mit einem leichten Flackern. Leider kann ich in Silverlight nicht wie bei WPF auf den DrawingContext zugreifen um selber eine Polyline zu zeichnen.

Ich suche daher nach Vorschlägen, um mehr Performance beim Zeichenen einer Polyline in Silverlight zu erreichen.

Freundliche Grüsse

Samuel

Thema: [erledigt] Geerbt von [Silverlight-]ObservableCollection: Kann nicht auf BlockReentrancy zugreifen.
Am im Forum: GUI: WPF und XAML

Besten Dank für den Hinweis!

Thema: [erledigt] Geerbt von [Silverlight-]ObservableCollection: Kann nicht auf BlockReentrancy zugreifen.
Am im Forum: GUI: WPF und XAML

Evtl. hat es etwas zu tun, dass ich in einem Silverlight Projekt arbeite. Für mich macht das allerdings nicht sehr viel Sinn.