Laden...

Forenbeiträge von talla Ingesamt 6.862 Beiträge

03.09.2012 - 13:09 Uhr

In Silverlight gibts die Methode nicht. Du hast ja auf die Framework Doku oben verwiesen, nicht auf die von Silverlight. Schau dir die Doku von der ObservableCollection mal von Silverlight an, dann siehst du, dass es die Methode dort einfach nicht gibt.

22.08.2012 - 20:07 Uhr

Schau mal hier: Pfeil mit Polygonen zeichnen: Linie steht über, ist das gleiche Grundproblem + Lösung.

17.08.2012 - 11:58 Uhr

Dann hast du den Vorschlag aus dem anderne genannten Thread aber nicht richtig umgesetzt. Ich sprach dort von einem Canvas als ItemsPanel für dein ItemsControl und nicht davon im ItemTemplate ein Canvas zu benutzen. Für die Items werden nur die entsprechenden Attached Properties gesetzt um diese dann innerhalb des ItemPanels zu positionieren.

17.08.2012 - 11:55 Uhr

Ist das sowas wie beim Laden von Resourcen aus anderen Assemblies? Genau sowas sollte es sein 😃Was dir eigentlich bei der URI zum Bild nur fehlt ist der Assemblyname, der sollte sich aber bekommen lassen über den Typen des Plugins. Hier wird der gleiche Vorschlag gemacht.

Ist es einfacher, wenn ich das Icon in der Plugin-Dll als Resource habe und nicht einfach als Datei Muss es unbedingt sein für obige Variante.

es wäre ja auch noch denkbar, das Plugin-Icon einfach dorthin zu kopieren und von dort zu laden Damit wäre dein Programm auf "normalen" PCs nicht mehr lauffähig weil eingeschränkte User, wies heutzutage Standard ist, keine Schreibrecht im Programmverzeichnis haben.

14.08.2012 - 18:12 Uhr

Hallo,

... und wenn ich das Binding über die
ObservableCollection also so:

  
   ObservableCollection<EquipmentObject> equipCollection = new ObservableCollection<EquipmentObject>(equipmentObjects);  
  
            ListCollectionView equipments = new ListCollectionView(equipCollection);  
            equipments.GroupDescriptions.Add(new PropertyGroupDescription("description"));  
  
            dataGrid1.ItemsSource = equipCollection;  

mache funktioniert das binding nicht mehr und dementsprechend das Groupuing natürlich auch nicht.

Da ist doch gar kein Binding involviert? Das ist doch ne einfache Zuweisung der Daten. Wie dem auch sei, du erstellst zwar ne CollectionView mit dem Grouping, aber verwendest sie doch gar nicht. Du nutzt ja die AusgangsCollection. Das kann dann natürlich nicht tun.

12.08.2012 - 12:02 Uhr

Hallo,

zu 1.: Er kann das Command nicht finden, da der DataContext ja nen ganz anderer ist. Im funktionierenden Beispiel ist der DataContext ja das mainViewModel. In der Liste dagegen ist der DataContext ja das Item, für das das Template angewendet und nicht dein mainViewModel.

zu 2.: Hat nichts mit DataBinding zu tun, sondern dem Canvas was da im Template eh völlig überflüssig ist. Die Canvas haben ne Größe von 0 und daher ist auch Sicht des ScrollViewers alles paletti da ja alle Items reinpassen.

Und noch nen kleiner Hinweis am Ende: Bitte immer [Hinweis] Wie poste ich richtig? Punkt 1.2 beachten.

09.08.2012 - 18:11 Uhr

Hallo,

du clearst ja die jeweils andere ComboBox. Im Fall das dein Query nichts zurückliefert, bleben die halt dann leer.

07.08.2012 - 12:12 Uhr

Hallo,

erstmal muss man festhalten das grad moderne Handys nur noch selten was direkt auf der SIM Karte speichern.

Dann ist deine Frage aber trotzdem noch alles weitere als klar. Mit was für ner Technologie arbeitest du denn? Meistens hat man eh keinen direkten Zugriff auf die SIM sondern die API der Plattform kapselt das ganze. Dann musst du auch nicht pollen, sondern bekommst durch die API mitgeteilt wenn eine neue Nachricht kommt.

Pollen wäre bei der SIM übrigens fatal. Es ist auch nur nen Flash Speicher drin und laut SIM-Karte gibts sogar festgelegte Zyklen nachdem sich manche deaktivieren.

04.08.2012 - 21:52 Uhr

Hallo,

Erfolgt die Auflstung innerhalb des ItemsConrol in einen StackPanel? Ja, zumindest defaultmäßig wenn man nichts anderes einstellt.
Die Idee von dir ist gar nicht schlecht. Scheitern tut es aber schon im Ansatz daran, das du ja im Template ebenfalls nen StackPanel hat. Sprich der Button wird im Template schon richtig mit dem Margin angeordnet, aber auch nur im inneren StackPanel, das ItemsControl weiß von dem aber gar nichts und bekommt die ganzen StackPanels als Children welche es wiederum ganz normal anordnet.

Setzt als ItemsPanel ein Canvas und verwende statt Margin die attached Properties von Canvas um die Position der Items dort drin zu setzen. Es macht keinen Sinn StackPanels zu verwenden, wenn du eigentlich absolut positionieren willst.

03.08.2012 - 19:43 Uhr

Hallo,

Um Items unterschiedliche Templates zu geben, benutzt man den ItemTemplateSelector.

Was aber keinesfalls geht ist, Items aus unterschiedlichen Quellen anzuzeigen. Entweder packt man die Items in die Items Collection oder man setzt ItemsSource auf die Quellaufzählung. Mischen geht aber nicht. Daher musst du dafür sorgen, dass du eine gemeinsame Datenquelle hast.

01.08.2012 - 18:29 Uhr

Hallo,

das du erst einen Screenshot erzeugst, erwähnst du ja gar nicht im Ursprungsbeitrag. Da kann man dann durchaus das CopyFromScreen verwenden. Aber aus dem Bitmap kannst du natürlich ein WriteableBitmap erzeugen. Mit LockBits holst du dir vom Bitmap die BitmapData und mit den Infos kannst du mit WriteableBitmap.WritePixels die Daten übernehmen.

Ansonsten gibst den sonst üblichen Weg von Bitmap in BitmapImage und mit dem BitmapImage kannst du dann ne WriteableBitmap erzeugen.

01.08.2012 - 16:20 Uhr

Dann war "component" schon richtig, du musst es wahrscheinlich bei beiden ohne "s" schreiben oder hast du wirklich 2 verschiedene Ordner, einmal mit "s" und einmal ohne?

Es gibt weder den einen, noch den anderen, siehe WPF Pack URI, woher das component dort drin kommt.

Selbst wenn die URIs aber richtig gezogen werden, wirds immer noch nicht tun, da MediaElement kein Abspielen von embedded Resourcen unterstützt. Man bekommt auch einen entsprechenden Fehler wenn man mal einfach das MediaFailed Event vom Media Player aboniert.

31.07.2012 - 21:17 Uhr

Hallo,

um zu sagen wie man das schneller macht, muss man erstmal wissen woran es liegt, dass es so lang dauert. Ist es das Holen der Logs der anderen Rechner, das Eintragen in die Datenbank oder das anschließende verarbeiten?

31.07.2012 - 17:34 Uhr

Hallo,

Erster Fehler - Doku nicht gelesen...
In der Doku zur Bitmap.GetHBitmap Methode steht

You are responsible for calling the GDI DeleteObject method to free the memory used by the GDI bitmap object. Da du das nicht machst, wird dann Speicher natürlich zugehaun.

Zweiter Fehler:
Von hinten durch die Brust ins Auge...
Wozu zum Teufel lässt du dir von einem Bild, wo du ja anscheinend als ImageSource direkt vorliegen hast

...ich lasse mir ein Bild anzeigen... ein Windows Forms Bitmap erzeugen um das zu editieren und dann noch zusätzlich über umkopieren von unmanaged Spiecher wieder ein WPF ImageSource zu erstellen?
Benutz einfach die WriteableBitmap Klasse von WPF und gut ist.

Selbst ohne das selbstverursachte Memoryleak von dir verbraucht deine Variante wesentlich mehr Speicher als die reine WPF Variante da du ja bei jedem MouseMove neue Bilder erzeugst. Es reicht doch nur bei dem einen bestehenden jeweils die Pixel zu setzen.

30.07.2012 - 12:29 Uhr

Das Control sollte sein Parent egal sein. Trotzdem hast du die Lösung schon erhalten. Du kannst dir einfach ein RoutedEvent mit Tunneling erstellen. Dann bekommst du auch in dem Child das Event wenn das Window es auslöst.

Aber auch der Hinweis auf das ViewModel von ErfinderDesRades ist natürlich korrekt. Gerade wenn du sagst Zustand willst du ja auf gemeinsame Daten zugreifen.

30.07.2012 - 08:08 Uhr

Hallo,

ErfinderDesRades hat Recht.

PreviewMouseDownEvent ist eigentlich ein Attached Event der Mouse Klasse. Das PreviewMouseDown Event im Window und im StackPanel sind exakt das identische Event, sie sind nämlich nur Aliase auf das Attached Event der Mouse Klasse und werden auch nicht durch Window bzw. StackPanel deklariert, sondern schon allgemein von UIElement.

Wenn du also

 stackpanel.AddHandler(MainWindow.PreviewMouseDownEvent,...

schreibst, abonierst du das Event beim StackPanel.

Nichtsdestotrotz ist das hier völlig irrelevant da das PreviewMouseDown Event natürlich nen Tunneling Event ist. Daher abonier das einfach wo du willst und du musst einfach nur aus den Argumenten beachten wer der OriginalSender ist.

27.07.2012 - 17:28 Uhr

Schau mal hier...

Das Feature war in frühen Versionen von .Net 4.5 noch drin, ist wohl aber leider raus geflogen... War da noch aufn alten Stand 😕

27.07.2012 - 12:31 Uhr

Hallo,

alternativ kannst du einfach .Net 4.5 verwenden falls bei dir möglich. Damit kannst du auch Win32 Content animieren. Das ist bis Version 4 einfach nicht möglich.

23.07.2012 - 18:56 Uhr

Hallo,

da die Höhe nicht explizit gesetzt wird, scheints die Defaulthöhe zu sein.

Man darf bei dem ganzen nicht vergessen, dass der Webbrowser eigentlich kein reines WPF Control ist, da das HTML Rendering ja vom IE ActiveX Control übernommen wird, und man da eh beim Layouting massive Einschnitte hat. Daher nehm ich mal auch an, dass er die Inhalte nicht automatisch layouted und seine Wunschgröße ermittelt (Was bei HTML Seiten auch bissle schwierig ist, da das Layout nur in wirklich wenig Fällen eine absolute Größe vorschreibt)

20.07.2012 - 16:12 Uhr

Hallo,

der Webbrowser zwingt WPF in Software zu rendern. Das könnte schon den Unterschied in der Performance ausmachen.

15.07.2012 - 14:07 Uhr

Hallo,

was brauchst du denn eigentlich wirklich? Nur die Konvertierung Image <> Byte Array? Dann ist der Umweg pber WPF natürlich völliger Unsinn.

Schau dir einfach mal das Beispiel in der MSDN (BitmapData Class) an, wie man die Pixel kopieren kann.

14.07.2012 - 19:59 Uhr

Hallo,

in was für Fällen soll das Ergebniss falsch sein? Das Ergebniss ist halt so, wie Equals implementiert ist. Wenn man Wertetypen hat, oder Referenztypen die sich wie Wertetypen verhalten (wie z.B. string), dann kann man die so nicht einsetzen in Binding Szenarien. Wenn man zwei Objekte von Werttypen anlegt mit gleichen Eigenschaftswerten, dann sind diese gleich, da kann man mit Equals die Objekte nicht mehr auseinander halten. Wenn man z.B. direkt eine StringCollection bindet, welche 3 mal "Hans" enthält und setzt das SelectedItem auf "Hans", dann ist es purer Zufall welches der 3 Items ausgewählt wird.

Was für Typen bindest du denn? Wenn du die selber erstellt hast, musst du halt Equals wie gewünscht überschreiben.

14.07.2012 - 16:05 Uhr

@Abt

Doch doch, das tut. In der MSDN steht auch

A URI string referencing the file . Da steht nichts davon, dass die Datei lokal vorhanden sein muss. Warum sie nicht konsequenterweise URI statt string als Datentyp benutzen weiß ich auch nicht.

Zum Problem: Wieso meinst du UpdateLayout aufrufen zu müssen? Wenn dein Binding richtig funktioniert, dann bekommt die GUI doch mit, dass du neue Daten hast und aktualisiert automatisch die Anzeige. Im RunWorkerCompletet Event kannst du übrigens problemlos die GUI ändern, da der Eventhandler auch im GUI Thread läuft, ansonsten gilt halt wie immer [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)

11.07.2012 - 16:08 Uhr

Hallo,

Applikationsresourcen sind ja nochmal was anderes als die Dateiressourcen wo ich den Link geschickt hatte. Aber nutzen kann man die natürlich schon.

Zum Fehler: Image ist in WPF das Control welches Bilder anzeigt, die eigentlichen Bilddaten sind Objekte welche vom Typ BitmapSource bageleitet sind, wie z.b. BitmapImage. (In Windows Forms war das anders. WF Image == WPF BitmapImage, WF PictureBox == WPF Image)

Controls packt man nie in Ressourcen, gerade aus dem Grund welche dir die Fehlermeldung nennt. Du legst dort stattdessen Objekte vom Typ BitmapImage an und verwendest die an den jeweiligen Stelle als Source für die Image Controls.

11.07.2012 - 10:26 Uhr

Hallo,

ja, dann eher Custom Control. Schau mal hier, was man da alles beachten muss und wie man ein Custom Control richtig erstellt. Dann sollte es eigentlich auch tun mit dem ContextMenu da das ja einfach nur von Framework Element vererbt wird.

11.07.2012 - 09:31 Uhr

Hallo,

Dein Code ist komisch. Du sagst du willst ein UserControl, hast aber als Root Knoten im XAML ein TreeView. Wenn das nen UserControl werden soll, muss das auch nen UserControl sein. Bei dir siehts mehr nach einem Custom Control aus. Dort würde man dann aber wiederum nicht so mit XAML arbeiten, sondern das Aussehen des Controls in einem Style festlegen.

Was solls jetzt werden, ein Custom Control oder ein User Control?

11.07.2012 - 08:13 Uhr

Hallo,

Zusätzlich zu dem von FZelle gesagtem: Auch wenn man Code nur schnell per Hand schreibt, bitte auf Konsistenz achten, da man sonst gar nicht weiß wo man anfangen soll nach Fehler zu suchen. Du sagst du hast ein UC namens Tree und postest dann XAML Code wo steht TreeView, TreeViee und verwendet wirds dann doch wieder mit Tree...

11.07.2012 - 08:07 Uhr

Hallo,

was ist denn deine TypProvider Resource? Das müsste ja direkt das DataSet sein oder?

11.07.2012 - 08:06 Uhr

Hallo,

so macht man das in WPF nicht. WPF hat ein eigenes, viel einfacher zu benutzendes Resourcen System. Einfach bei den Bildern als Build Action Resource einstellen und dann kann man bequem über die URI zugreifen.

10.07.2012 - 08:17 Uhr

Hallo,

ich persönlich finde das Design gut. Es gibt meiner Meinung nach einen konsistenteren Eindruck, gerade weil MS anscheinend ja auch die Applikationen daran anpasst. Der RC von VS 2012 z.B. passt sich ja nahtlos in das von dir im Screenshot gezeigte Design ein und auch von Office gibts diese Metro Design Screenshots.

Die Transparenzen vom Aero Design von W7 find ich schon praktisch an vielen Stellen (durchscheinend in der Titelleiste, so dass man sieht was drunter ist), könnte aber auch ohne die leben.

08.07.2012 - 14:02 Uhr

Naja, Geräuschentwicklung hat man bei ner SSD natürlich nicht. Aber was den Stromverbrauch (und damit der Wärmenetwicklung) angeht, sind SSDs auch nur im Leerlauf besser (wobei sie natürlich ne bessere Leistung haben bei gleicher Leistungsaufnahme) und selbst dann redet man von 2-3 Watt gegenüber HDDs. Da macht der verwendete Chipsatz vom Mainboard meist schon nen größeren Unterschied aus, von anderen Komponenten wie CPU und GPU mal ganz zu schweigen 😃

07.07.2012 - 15:23 Uhr

Hallo,

was du willst ist in den allermeisten Fällen unnötig und verwirrend, da die MessageBoxen in der Systemsprache angezeigt werden. Wenn du eine bestimmte Sprache forcierst, läufst du Gefahr dass die User nicht das bekommen was sie erwarten. Auf einem englischen System z.B. hättest du auch mit dem normalen Verhalten dann Yes/No, da brauchst du keine Angst haben das da Ja/Nein kommt.

Ansonsten gibts in Localizing System MessageBox nen Artikel auf Codeproject zu der Problematik.

07.07.2012 - 10:13 Uhr

Hallo zusammen,

das .Net Framework bietet mit unzähligen Klassenbibliotheken mittlerweile die vielfälltigsten Möglichkeiten Probleme zu lösen: Windows Forms, WPF, Silverlight, WCF, WF, WIF, ASP.NET MVC um einfach mal beispielhaft ein paar Technologien querbeet zu nennen.

Fühlt ihr euch durch diese Technologien eingeschränkt und habt das Gefühl, dass ihr sie kennen müsst oder seht ihr sie eher als Möglichkeiten Probleme effektiv mit etablierten Frameworks zu lösen und sie je nach Bedarf einsetzen zu können?

07.07.2012 - 07:00 Uhr

Hallo,

was man problemlos machen kann, ist den Designer zu debuggen. Ich hab auch oft den Fall das Blend erstmal nichts anzeigt außer eine Fehlermeldung. Dann einfach das Projekt in VS laden, Blend öffnen, den Debugger anhängen und wenn man dann in Blend das fragliche XAML öffnet und es Exceptions gibt, hält der Debugger an der entsprechenden Stelle an und man kann drauf reagieren.

06.07.2012 - 19:41 Uhr

Hallo,

Meine Meinung: WPF ist vom Ansatz her nicht wirklich durchdacht.

Da muss ich gfoidl uneingeschränkt recht geben.

WPF ist wesentlich durchdachter als die meisten anderen GUI Frameworks.
Gerade wenn man z.B: so eine Grundaufgabe wie Layouting anschaut, sieht man die großen Stärken von WPF. Es ist trivial dynamische Layouts zu gestalten, die den Platz den sie bekommen korrekt ausnutzen und auch vollkommen korrekt auf Gegebenheiten wie unterschiedliche DPI der Anzeige Geräte reagieren. Daran scheitern sonst schon fast alle anderen GUI Technologien unter Windows. Und das ganze ist auch noch logisch durchdacht. Wenn man sich mal anschaut wie z.B. ein Control innerhalb eines Containers positioniert wird, dann sieht man z.B. das Windows Forms im Vergleich vollkommen unlogisch ist. Man hat in WPF ein Control und je nach Container setzt man entsprechende attached Properties - bei Canvas Top/Left/Bottom/Right oder beim Grid Row/Column.

In Windows Forms hat das Control selber entsprechende Properties für jeden möglichen in Frage kommenden Container. Es hat immer nen Dock Property und immer Top/Left etc. - wozu? Es kann doch nur einen Container als Parent haben, wieso brauch ich noch alle anderen Eigenschaften für die anderen Container. Um beim TableLayoutPanel auf einmal muss man doch wieder Methodes des Panels benutzen um die Position eines Controls zu bestimmen und nicht mehr die Eigenschaften eines Controls.

Gerade im Vergleich zu Windows Forms, welches ja auch viele Einschränkungen der zugrundeliegenden WinApi mitschleppt, hat MS viel gelernt und in WPF besser umgesetzt.

Trennung der Logik vom Design in allen Ehren - aber welche Firma stellt tatsächlich einen Designer für die Oberflächen ein?

Die Frage mag berechtigt sein, aber selbst wenn man die Trennung nicht in Personalien widerspiegelt, so bieten doch die vorgesehenen Möglichkeiten auch für den alleinigen Bearbeiter viel bessere Möglichkeiten das Programm ordentlich zu strukturieren. WPF hat fantastische DataBinding Möglichkeiten und erlaubt es Code komplett von der GUI zu trennen. Sowas geht mit Windows Forms in der Praxis fast gar nicht da das DataBinding nicht so ausgeprägt ist.

Zu RAD: ich bin kein Freund davon, wenn Leute nicht verstehen was sie machen. Richtig eingesetzt ist das ein gutes Hilfsmittel produktiver zu sein, aber gerade auch so wie du es schreibt, klingts wie GUI zusammenklicken ohne Gedanken um die Grundlagen zu verschwenden. Da ist es vollkommen egal welche Technologie man verwendet - was rauskommt nutzt die Möglichkeiten der Technologie nur im geringen Maße.

Bin mich seit 3 Jahren am Einarbeiten So kompliziert ist WPF auch nicht 😉 Klar ist der Einstieg recht schwer, aber hauptsächlich weil man sich von bekannten Komzepten verabschieden muss. Dann ist grad durch die viel logischere Arbeitsweise von WPF vieles auch einfacher. Ich sehs immer wieder wie ein Kollege von mir versucht WPF zu benutzen wie die ihm bisher bekannten GUI Technologien und gnadenlos scheitert und seine Konstrukte atemberaubend kompliziert werden. Eine Lösung die nach den WPF Prinzipien arbeitet war dagegen dann trivial umgesetzt.

Also wie gehts weiter - was glaubt ihr?

gfoidl hat ja WinRT schon erwähnt, damit einhergehend kann man glaube ich, ohne große Wahrsagerfähigkeiten haben zu müssen, sagen - WPF zu lernen ist mehr als sinnvoll. WPF ist zwar in Zukunft unter Windows 8 auf Deskopanwendungen begrenzt und wie die in zukünftigen Windows Versionen dann aussehen steht in den Sternen, aber WinRT (die man ja ohne schlechtes Gewissen als unmanaged .Net Variante bezeichnen kann) nutzt ebenfalls XAML als Oberflächenbeschreibung. Es kommen zum Großteil die gleichen Konzepte zur Anwendung wie jetzt schon in WPF und Silverlight welche ja auch XAML nutzen. Wenn dir WPF konzeptionell Probleme bereitet, wirds mit WinRT und XAML in Zukunft genauso gehen.

Kommt das rundum zum Einsatz - eventuell bei euch in den Firmen. Wir in der Firma nutzen WPF um für unseren Kunden Simulationen von verschiedenen Bedienkonzepten für ihre Produkte zu simulieren. Viel genauer darf ich das leider nicht schreiben, aber die Anforderungen an die Simulation sind extrem komplex. Es geht nicht nur um irgendwelche Darstellung von Informationen, sondern es geht um völlig neuartige Möglichkeiten wie die Kunden unseres Kunden in Zukunft die Produkte erleben werden. Und dafür werden mit der Simulation dann auch weltweit Probandentests durchgeführt um die Bedienkonzepte in verschiedenen Märkten zu testen und nach psychologischen Gesichtspunkten zu bewerten und da ist es immens wichtig das die Simulation immer genau das macht was es soll da sonst der ganze Test hinüber wird und keine Aussagekraft möglich ist.
WPF ist dafür prädestiniert da es einerseits die ganzen Möglichkeiten bietet wie z.B. auch hardwarebeschleunigte GUI die es enorm erleichtern sehr komplexe grafische Darstellungen zu entwerfen, andererseits aber natürlich auch den .Net Unterbau bietet der uns die möglichkeit gibt unmanaged Code anzusprechen um z.B. neue Hardwarebedienelemente einzubinden zur Steuerung der Simulation.

EDIT: Natürlich ist auch in WPF nicht alles Gold was glänzt, aber ich persönlich halte es für das fähigste UI Framework unter Windows.

06.07.2012 - 11:49 Uhr

Hallo,

wenn ich deine Beschreibung richtig verstanden habe, dann ist die Menge an Daten die der Segmentierungsthread bekommt, bei Verfahren A 4 mal so groß wie bei Verfahren B, oder?

Wenn man jetzt mal einfach annimmt, die Aufwandsklasse für die Beschaffungsthreads wären linear und die für die Segmentierung quadratisch, dann kann man sich schnell ein Szenario ausmalen wo die Segmetierung bei der Variante B schneller ist im Vergleich zum Beschaffungsthread wie bei Variante A. Aber wie gfoidl schon sagtm ohne Code ist das nur rumgerate, was bei dir passiert.

In der Praxis muss man aber immer die Threads miteinander synchronisieren, da man nie von einem bestimmten Geschwindigkeitsverhältnis ausgehen darf. Hier hört sich das schon arg nach typischen Producer/Consumer an.

04.07.2012 - 22:14 Uhr

Hallo,

Ich will nicht auf die technischen Dinge eingehen, die in der Tat nicht alle korrekt sind, aber dein Grundproblem ist meiner Meinung nach ein anderes.

Wenn der Dozent Fehler macht, sei es in der Vorlesung oder im Skript, muss das sofort korrigiert werden bzw. von euch angemerkt werden um ggfls. darüber diskutieren zu können. Die Sache ist einfach die, dass in den Prüfungen abgefragt wird, was ihr durch Vorlesung und Skript gelernt habt. Wenn der Professor durch euch nicht korrgiert wurde vor der Prüfung - dann sind die zu erwartenden Antworten auf die Fragen die, die man im Skript findet. Selbst wenn dort faktische Fehler sind, kannst du dich im Nachhinein nicht darauf berufen.

Ich kann jetzt nur Argumente sammeln, um HINTERHER bei der Klausureinsicht was in der Hand zu haben, falls die Sachen anders da stehen, als er sie hören möchte Da kannst du sammeln wie du willst, die sind alle für die Tonne, da musst du vorher nachhaken. Es geht immerhin nicht um Korrekturfehler.

Würde der Prüfer auch nur eine nachträgliche Korrektur deinerseits als richtig bewerten, müsste er theoretisch die Antworten aller anderen die die "falsche" Antwort aus dem Skript gegeben haben, als Fehler und damit mit Punktabzug bewerten. So würde man sich schnell viele Freunde unter den Kommilitonen machen gg Aber wie gesagt, das geht eh nicht.

Da du anscheinend ja schon kurz vor den Prüfungen stehst - lern das ausm Skript und nächstmal weißt es besser und korrigierst den Prof sofort.

Das mit den 14 Tagen ist aber eh seltsam - dann dürfte in der Zeit ja kein neuer Stoff behandelt werden durch den Nachfragen entstehen könnten - komische Argumentation von ihm.

02.07.2012 - 16:01 Uhr

Hallo,

wurde das SP1 in der richtigen Sprache installiert?

02.07.2012 - 15:25 Uhr

Hallo,

um vielleicht noch ein kleines technisches Detail richtig zu stellen: INotifyPropertyChanged sorgt nicht dafür, dass eine Liste mitteilen kann, das sich ihre Items geändert haben. Das wird nur benutzt um zu sagen, das sich Properties der Liste geändert haben, wie z.B. Count, aber dann weiß man noch nicht mit welchen Items was gemacht wurde. Dafür sorgt erst das Interface INotifyCollectionChanged.

Ich würd den Ansatz von MrSparkle weiterverfolgen.

01.07.2012 - 17:16 Uhr

Hallo,

hast du Ebay von dem Vorfall informiert? Die können den Vorfall auch weiter analysieren und gucken ob weiterhin Probleme dadurch entstehen können.

30.06.2012 - 17:33 Uhr

Hä? Was meinst du mit linear entwickeln? Du meinst aber nicht einfach nur die Differenz bilden, durch die 14 zu teilen und dann ab dem Anfangswert in den 14 Schritten den Wert des Quotienten jeweils zuaddieren um die Zwischenwerte zu bekommen?

30.06.2012 - 17:30 Uhr

Zu welchem Zeitpunkt wird denn der Code aufgerufen und die Exception ausgelöst?

30.06.2012 - 17:28 Uhr

Hallo,

wie befüllst du denn die TreeView? TreeViewItems sind nur in den Items drin, wenn du sie explizit anlegst, ansonsten sinds die Daten die du reinstopfst, in dem Fall ganz offensichtlich ja schon die XmlElemente.

So wie du es versuchst, macht in es in WPF aber so oder so nicht. Du hast Daten, gegen die bindest du ja und genau die Daten speicherst du dann auch. Der Umweg über die TreeView ist doch unnötig.

30.06.2012 - 11:40 Uhr

Hallo,

...welche Exceptions wohl von dieser Funktion geworfen werden. ...in dem bereits alle möglichen Exceptions aufgelistet sind.

du unterliegst einem Missverständnis. In der MSDN (die aus den gleichen Codekommentaren generiert wird, die VS für die Methoden anzeigt) sind Exceptions dokumentiert, welche direkt von der Methode ausgelöst werden können - das sind bei weitem nicht alle Exceptions die beim Aufruf einer Methode auftreten können. In .Net gibt es keinen Mechanismus um festzustellen, welche Exceptions durch einen Methodenaufruf ausgelöst werden können. Auf die von Java bekannten Checked Exceptions hat man aus gutem Grund verzichtet.

Um zur Frage zurückzukommen: Mir ist kein Addin bekannt welches die Dokumentation auswertet, um Codestubs für die dort genannten Exceptions zu erzeugen.

29.06.2012 - 16:48 Uhr

ist ja erstmal egal, ob und welche Lautsprecher man anschließt. Die Frequenzen werden ja sicherlich am Ausgang auch wiedergegeben.

Jein. Klar gibt jeder Lautsprecher das wieder was er bekommt. Aber das heißt nicht ohne Grund 5.1 statt 6. Der Effektkanal ist meist einfacher kodiert um Bandbreite zu sparen. Siehe z.B. die Wikipedia Erklärung LFE-Kanal.

29.06.2012 - 13:28 Uhr

Hallo,

so einfach wird das nicht gehen. Eine Datei über nur einen Kanal ausgeben geht an sich schonmal nicht, da Sounddateien aus der Regel mindestens in Stereo sind und damit schon zwei Kanäle haben. Wenn du von 5.1 sprichst, dann wirst du eh nur 5 Kanäle haben wo du wirklich Sound ausgeben kannst, da der Subwoofer, also der .1 Kanal, nur einen sehr begrenzten Frequenzbereich abdeckt.

Machbar sollte dein Vorhaben aber prinzipiell sein. Du musst ja nur die einzelnen Kanäle aus den Ursprungsdateien extrahieren (das ist wiederum abhängig vom verwendeten Format) und dann die Kanäle in einer Zieldatei zusammenführen und dann ausgeben lassen.

27.06.2012 - 13:42 Uhr

Hallo,

Per Render- oder LayoutTransform kannst du das problemlos machen.

da meine Labels später in XML gespeichert werden

Du solltest die Daten, welche die Labels anzeigen, speichern, aber nie GUI Elemente (geht auch nicht wirklich).

27.06.2012 - 13:15 Uhr

Von wo ist die Barcode128 Klasse denn überhaupt? Zum Framework gehört sie nicht.

26.06.2012 - 16:32 Uhr

Hallo,

das ist im Prinzip das was dN!3L schon angekündigt hat in Bezug auf COM und Reflection.

Schau dir mal in COM-Wrapper an wie COM Objekte aus .Net angesprochen werden. Du bekommst nicht das eigentliche COM Objekt, sondern einen Wrapper der die Aufrufe weiterleitet und genau auf den Wrapper wendest du Reflection an. Und der hat die von dir gefundenen Methoden.

26.06.2012 - 16:26 Uhr

Hallo,

das du unterschiedliche Datenstrukturen zum Füllen benutzt, kann man ja nicht ahnen 😉 Dann macht es natürlich Sinn verschachtelte Listen zur Anzeige zu nehmen.