Ist es die richtige ComboBox? Rufst du womöglich irgendwann später ein Clear auf? Verwendest du BeginUpdate und hast ein EndUpdate vergessen? Bist du schon mal mit dem Debugger durch und hast überall Breakpoints gesetzt, wo du die ComboBox veränderst? Gibt viele, viele, viele Möglichkeiten. Grundsätzlich füllt man die ComboBox allerdings so. Der Fehler liegt somit irgendwo anders.
Grüssli
Kann sein, dass die Datei nicht gefunden wird. Benutze einen Debugger, dann weisst Du es.
Ausserdem versuchst Du via Attributes auf die Attribute zuzugreifen. Es sind aber keine Attribute vorhanden im XML File. Nur Elemente.
Hier ein lauffähiges Bsp. sofern die XML Datei gefunden wird.
using System;
using System.Xml;
using System.Diagnostics;
namespace Test
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load("..\\..\\Teams.xml");
XmlElement root = doc.DocumentElement;
XmlNodeList children = root.ChildNodes;
foreach (XmlNode daten in root.ChildNodes)
{
string s = daten.InnerText;
Debug.WriteLine(s);
}
}
}
}
/rant/ schrieb:
Omg! Ich wusste gar nicht, dass man so ein schändliches Keyword in die einst so saubere Sprache eingeführt hat.
Richtig angewendet ist das Keyword der Hammer. Es ist gerade für dynamischen Code gedacht. Wenn du dir zum Beispiel IronPtyhon anschaust, dann kannst du eine Klasse in IronPython zur Laufzeit generieren und sie dann über dynamic in C# verwenden. Früher hättest du dies nur über aufwändige Reflection machen können, welche von der Laufzeit auch nicht gut optimiert hätte werden können.
/rant/ schrieb:
Da wir eh gerade von schrecklichen Sprach-Features sprechen: Warum gibt es eigentlich Extension-Methoden, aber keine Extension-Properties? Die wären manchmal auch nützlich :p
Wurde soweit ich weiss schon mal überprüft. Hier:
http://blogs.msdn.com/b/ericlippert/archive/2009/10/05/why-no-extension-properties.aspx
/rant/ schrieb:
Dravere schrieb:
Vielleicht hat sich da jemand zu sehr an die C++ Templates erinnert und dadurch im Gesamten ein schlechtes Design gewählt.
Ja, ich habe in den vergangenen Jahren mehr mit C++ zu tun gehabt als mit C#, und bin insbesondere von Templates sehr angetan.
Gilt bei mir auch und ist daher keine Entschuldigung
Grüssli
T ist ein Interface, welches zur Laufzeit von U implementiert wird. Ich habe ein ISet<U>, welches zur Laufzeit erzeugt wird. Damit ich möglichst elegant dagegen programmieren kann, möchte ich dieses ISet<U> als ISet<T> benutzen können. Insofern hast du es leider genau umgekehrt
brzzz schrieb:
und ich dachte immer wenn A-Z belegt ist geht es bei AA, AB, AC, ... weiter.
Nicht so viel denken. Windows kennt nur 26 Laufwerkbezeichner
Hallo zusammen,
Mein DataGrid dessen ItemsSource über ein XMLProvider gebunden ist (momentan ca. 1000 Einträge) wirft bei aktiverter rowvirtualization in Verbindung mit einem schnellen Wechsel der Zeilen stets eine ArgumentNullException.
Da der Fehler unregelmässig auftritt, weiß ich momentan überhaupt nicht wie ich das umgehen sollte. Eine deaktivierung der Virtualization bringt ja leider eine starke Verzögerung des Ladevorgangs mit sich.
Meine Idee wäre, das Auftreten dieser Exception abzufangen, und den Nutzer zum "warten zu zwingen". Nur wo muss ich da ansetzen ?
Dravere, du hast Recht. Aber ich möchte auch zulassen, dass alle optionale Teile vorkommen dürfen. Mit "(Tom)?" muss ich danach kein comparison mehr machen. Das wird alles impliziert gemacht.
Im text stehen optionale Teile in "<>".
ich ersetze z.B. "<Tom>" durch "(Tom)?" und bekomme mein pattern. Wenn im Text nur noch "<Tom" steht, kommt "(Tom" raus. Und damit auch ein exception
GPC schrieb:
Abgesehen davon mag ich Tuples eigentlich recht gerne, nur stört es mich, dass man immer nur Zugriff per Item1, Item2 usw. hat.. das ist so nichtssagend. Darum schreibe ich doch oft so kleine Klassen, die nur zwei, drei Member haben und als Datencontainer fungieren.
Wer macht das nicht? Ich habe regelmässig solche kleinen Datencontainer. Um ehrlich zu sein, kann ich gerade wegen dem Item1, Item2, usw. den Tupeln überhaupt nichts gutes abgewinnen. Von mir aus gesehen, sind das völlig sinnlose Klassen im .Net Framework. Da nehm ich ja noch lieber eine dynamic Variable, obwohl dies natürlich ebenfalls nicht sinnvoll ist, aber immerhin hat man sprechende Property-Namen.
Grüssli
Der EQATEC-Profiler ist für umme zu haben und hat mich bisher auch nicht enttäuscht. Aber am Besten ist es natürlich, gleich wie Pro loszuhaxxorn und erst gar keine Bottlenecks entstehen zu lassen
Hi Freefighter,
ja habs bermerkt. Die RitchTextBox kann das aber. Leider bakomm ich
momentna das tiefstellen nicht hin weil ich nichts ordentliches zu RTF finden kann.... Aber wird sich schon finden lassen.
Wenn ich konsequent RitchTextBoxen nehme, und die Texte aus resourcen lade, kann
ich das Programm leicht mehrsprachig machen in dem ich einfach die Resourcen files umschreibe.... Ist denke ich eine gute Sache...
Danke für antwort.
grüße
Diese Lösung ist eine Alternative mit der ich soweit zufrieden bin.
Du hast mich ja bereits über die Sache mit der Progressbar aufgeklärt.
Und meinem Vorgesetzten gefällt diese Lösung sehr, dass das Design doch immer gleich aussieht, unabhängig von OS oder Design-Einstellung.
Letztendlich ist die Sache geklärt
theta schrieb:
Das finde ich technisch den falschen Ansatz. Ich würde die Kommunikation über TPC lösen. Oder dann direkt WCF.
Naja, mein Problem ist, dass ich absolut neu bei .NET und C# bin.
Außerdem bau ich das ganze in eine vorhandene Anwendung ein.
Dabei gibt es die Haupt-Anwendung, die eine Art Run Engine ist, und den Code den ich schreibe/anpasse verwendet und diverse Methoden abarbeitet.
Da ich mit solchen Sachen keine Erfahrung hab habe ich mich dafür entschieden.
Was wäre den der wirklich essentielle Vorteil?
WCF sagt mir gar nichts.
Mit dem NetShare läuft es momentan eigentlich, nur hat es manchmal ein File Zugriffs problem gibt (weil eben ein anderer drauf zu greift).
Du hast den Falschen Ansatz, du sagst das die Liste selber sich geändert hat, das stimmt aber nicht, die Liste ist immer noch die selbe, aber der Inhalt der Liste hat sich geändert
Klar, logisch
Problem ist damit erledigt. Danke.
Ich habe mir die Werte im Debugger angesehen.Aber ich brauche jetzt keine Lösung für dieses Problem,da ich die einzelnen Buchstaben als ASCIIart im Trace überprüft habe.