Laden...
Avatar #avatar-2567.gif
Benutzerbeschreibung
Gegen WinForms - für WPF! Für längere Zeit inaktiv.

Forenbeiträge von zero_x Ingesamt 1.044 Beiträge

12.02.2011 - 18:06 Uhr

Hallo Paradoxon101,

auf CodeProject und CodePlex auch schon mal geschaut? Mal ehrlich, das zu programmieren ist nicht wirklich viel. Warum programmierst du das nicht einfach selber?

zero_x

12.02.2011 - 18:02 Uhr

Hallo 1mannlan,

Stichwort: Hook. VLC ist Open-Source, du kannst VLC nach deinen Bedürfnissen umprogrammieren. In der VLC Developers Corner findest du mehr Informationen. Das wäre viel einfacher.

zero_x

12.02.2011 - 15:40 Uhr

Hallo GamesForLife,

ich habe mir mal das Recht genommen, die Assembly im Reflector anzuschauen. Mir sind folgende Sachen direkt ins Auge gesprungen:* Deutschsprachige Methodennamen halte ich für sehr schlecht.

  • Hartcodierte strings würde ich meiden. Je nach Betriebssystem können die Pfade unter Umständen abweichen. *Der Code ist nicht wartbar. Man kann also keine Optionen nachträglich hinzufügen. Verwende Interafces und nutze die OOP richtig aus! *Threading wird nicht verwendet. Die UI muss also beim Löschen blockieren. (Habe ich nicht getestet)

Das sind nur ein paar Punkte. Den Code habe ich mir weiter nicht angeschaut. Wirklich toll finde ich es nicht.

zero_x

12.02.2011 - 13:35 Uhr

Hallo gijoe222,

du hast xxMUROxx falsch verstanden. Es geht daraum, dass standardmäßg anders sortiert wird. Das möchtest du ja nicht. xxMUROxx hat dich auf einen Link verwiesen. Dort findest du weitere Informationen.

Du kannst sortieren, wie du möchtest. Es bleibt dir überlassen, wie du es programmierst.

zero_x

11.02.2011 - 16:57 Uhr

Hallo Runnable,

Touch und Maus verwenden zwar die selbe Schnittstelle, sind aber nicht eins zu eins gleich. Du musst schon Änderungen vornehmen. In WPF 4 ist es so, dass die meisten Controls touchfähig sind. Weitere Hintergürnde und Informationen findest du hier. Touch und WPF ist so eine Sache. Du kannst nicht so einfach sagen, dass Touch gleich Maus ist. Du hast mehrere Möglichkeit. Du musst dich entschieden. Verwende am besten das TouchDown-Event.

Siehe auch Input Overview. Stichwort: Inertia.

zero_x

11.02.2011 - 16:43 Uhr

Hallo Dayzz2110,

wir können dir schlecht weiterhelfen, wenn wir sehr wenig über dein Problem wissen. Deine Aussagen sind sehr oberflächlich formuliert. Wir können das Problem nur erahnen. Kannst du dein Problem bitte ein wenig genauer schildern? Siehe auch [Hinweis] Wie poste ich richtig? Punkt 5.

Das hört sich sehr nach Behaviors an. Der Rest ist nur Mathe.

zero_x

11.02.2011 - 16:35 Uhr

Hallo Boris0815,

auch wenn es deine Frage nicht beantwortet: Wie ich sehe, verwendest du wohl MVVM. Warum möchtest du dann das Command nicht direkt in ein ViewModel packen? So wie du das machst, ist es nicht gearde der beste weg.

Das ist das standardmäßige Verhalten. Das lässt sich meines Wissens so nicht ändern. Du kannst versuchen, in den Ressourcen das Command anzugeben. Das Command muss halt über den Controls stehen. Die Controls binden dann direkt an das Command. So hast du dann ein Command und mehrere Controls, die an ein Command binden. Unter Umständen musst du dir noch eine Helfer-Klasse programmieren.

Kannst du näher dein Vorhaben beschrieben? Ich denke, es gibt bestimmt eine andere und bessere Lösung, anstatt sich jetzt hier auf Commands zu fixieren.

zero_x

11.02.2011 - 08:08 Uhr

Hallo bl4ckY,

die Frage kann man so nicht beantworten. Wenn es funktioniert, dann ist es oaky. Für die Lösung eines Problems gibt es meist immer mehrere Lösungen. Wenn du dein Problem mit dem ObjectDataProvider gelöst hast, dann ist es gut. Es bleibt dann auch nur bei dem "Designfehler".

zero_x

10.02.2011 - 16:25 Uhr

Hallo bl4ckY,

ich kann winSharp93 nur zustimmen! Besser wäre es, wenn du im Code-Behind den DataContext einer Klasse setzt. So ist es einfacher zwischen XAML und C#-Code zu "vermitteln".

Ich würde es ein wenig anders machen: Verwende eine anstatt der Dictionary eine ObservableCollection. Die ObservableCollection beinhaltet dann ale Einträge der TabItems. Über einen Trigger leitest du dann das Event in den Code-Behind und verarbeitest dann dort die Logik.

zero_x

10.02.2011 - 16:19 Uhr

Hallo Boris0815,

dann hängt das hochstwahrscheinlich damit zusammen, dass das UserControl und das ListBoxItem unterschiedliche Größen haben. Versuch mal, der ListBoxItem eine feste Größe zu geben. Dann ist das ListBoxItem gezwungen, dem UserControl eine andere Größe zu geben.

zero_x

10.02.2011 - 16:14 Uhr

Hallo dotnet_student,

wo ist der Zusammenhang zwischen internal, WPF und Serialisierung? Ich glaube, du vertauscht da einige Begriffe. Der Begriff Controller finde ich in diesem Zusammenhang total falsch. Der Begriff passt dort gar nicht rein. Controller nennt man Klassen, die Einfluss auf die Ausführung des Codes nehmen. Ein gutes Beispiel ist das MVC(Model-View-Controler)-Pattern. Controller würde ich das nicht nennen.

internal ist ein Zugriffsmodifizierer. Das sind Grundlagen der OOP. Mehr über den Zugriffmodifizierer findest du in dem Link von Verjigorm.

zero_x

10.02.2011 - 08:17 Uhr

Hallo csOffroad,

was meinst du mit easen? Soll das InkCanvas automatisch erkennen, was gemalt worden ist? Wenn du einfach nur ein Shape hinzufügen möchtest, dann kannst du das mit ink.Children.Add machen. Beachte, dass ink der Name des Canvases ist.

Auf Seiten wie CodeProject oder CodePlex findest du bestimmt schon fertige Implementierungen. Das nur als Tipp am Rande.

zero_x

09.02.2011 - 16:08 Uhr

Hallo dansmo,

du hast zwar das Problem gelöst, uns aber leider nicht mitgeteilt, was der Grund für das Verhalten ist. Andere, die das gleiche Problem haben und die Forensuche verwenden, werden dann leider nicht wissen, warum die Fehlermeldung kommt. Es wäre nett, wenn du das beschrieben könntest.

Ich nehme dir die Arbeit mal ab: Der Grund ist, dass Excel die Datei offen hat. Weil Excel die Datei offen hat, ist somit der Stream offen. Erst wenn der Stream wieder geschlossen ist, kann man die Datei wieder lesen. Wenn nun Excel die Datei verwendet und eine andere Anwendung versucht, die Datei zu lesen, kommt es zu dieser Fehlermeldung. Aus diesem Grund muss man vorher prüfen, ob es möglich ist, die Datei zu lesen.

zero_x

09.02.2011 - 15:33 Uhr

Hallo HannesB,

möchtest du das Projekt mit Silverlight oder XNA programmieren? Beides zusammen geht nicht gut. So wie ich es sehe, hast du die Grundlagen noch nicht drin. Ich würde dir raten, dich mit den Grundlagen von Silverlight und den Windows Phone SDK auseinander zusetzen.

So würde ich vorgehen: Die Sternenkarte ist als XAML-Datei gespeichert. Die wird einfach angezeigt. Im SDK des Windows Phons gibt es Gestures. Die bindest du so ein, dass du mit denen zusammen arbeiten kannst. Im Code programmierst du die Logik für die Gestures oder suchst dir die passenden Gestures heraus. Einige Gestures existieren im SDK meines Wissens schon out-of-the-box. Programmiertechnisch kannst du dir auch die Gestures programmieren. Das ist nicht sonderlich viel Aufwand, nur ein wenig Mathematik.

zero_x

09.02.2011 - 14:44 Uhr

Hallo JAck30lena,

mit "Code nachträglich injizieren" meine ich einfach, den Code so zu verändern, dass es klappt bzw. klappen muss, ohne das er Reflection verwenden muss. Das ist zwar die Hammermethode, aber trozdem eine Lösung. Es könnte ihn helfen. Das ist aber nur ein Vorschlag/Idee. Der IL-Code steht offen da. Man kann den Code nach belieben ändern. Und das ist garnicht mal so schwer.

zero_x

09.02.2011 - 14:34 Uhr

Hallo inflames2k,

das ist nicht möglich und kann ich mir auch nicht vorstellen. Wenn ein Getter vorhanden ist, dann könnte es ein privates Feld geben. Wie sieht der Code aus? Das wäre im Grunde das gleiche. Was du noch machen kannst, wäre Code nachträglich zu injizieren. Stichwort: Reflexil, Reflector, Add-In.

zero_x

09.02.2011 - 14:29 Uhr

Hallo Inuyasha2004,

das ist schon richtig so. Unter Windows 7 ist der Pfad unter C:\Users<User>\AppData. Klick dich dort mal durch.

zero_x

09.02.2011 - 13:29 Uhr

Hallo icolor,

m0rius hat dir einen Link gegeben. Dort steht alles drin, was du wissen musst. Du musst es nur durchlesen, dann weißt du es. Wir können dir nicht das Buch wiederholen. So hart wie es klingen mag - aber das sind die Grundlagen.

zero_x

09.02.2011 - 13:27 Uhr

Hallo dewebey,

du hast unterschiedliche Formate. Für (fast) jedes Format musst du mir eine "Viewer" - so nenne ich das jetzt mal - programmieren. Vieles unterstützt WPF von Hause aus wie z.B. JPGs. PDF wird in WPF nicht unterstützt. Also musst du nach Libraries oder Helper-Klassen suchen. Ich kann dir nicht sagen, welche du brauchst. Das musst du schon selber entschieden. Ich weiß auch nicht, wie dein Projekt intern gestrickt ist. Auf Seiten wie z.B. CodePlex oder CodeProject.com findest du viele fertige Implementierungen. Was möchtest du von uns hören(ist nicht böse gemeint)?

zero_x

09.02.2011 - 13:14 Uhr

Hallo HannesB,

warum möchtest du die WriteableBitmap-Klasse verwenden? Wäre es nicht einfacher, wenn du ein Bild(z.B. in XAML-Format oder wie auch immer) nimmst und es anzeigst? Das Bild kannst du nachträgich mit Gestures ausstatten. Hast du dir mal das Windows Phone Toolkit angeschaut? Kannst du dein Vorhaben ein wenig detailierter beschreiben?

zero_x

09.02.2011 - 13:08 Uhr

Hallo icolor,

das geht schon sehr nach [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

Du musst das Projekt referenzieren, dann den Namespace hinzufügen. Auf MSDN findest du Anleitungen.

zero_x

09.02.2011 - 13:02 Uhr

Hallo csd0755,

um Missverständnisse vorzubeugen: "optimiert" kannst du nicht sagen. Touch basiert auf der Schnittsteller der Maus. Es macht also in diesem Sinne keinen Unterschied, ob du die Maus oder deine Finger benutzt. Beide Eingaben kommen in der UI an. Es sei denn, Touch wurde explizit deaktiviert/unterdrückt.

Ich kenne keinen CHM-Viewer, der auf Touch angepasst ist. Wie wäre es, wenn du einfach deinen eigenen CHM-Viewer programmierst? Wenn man einen Schritt weiter denkt: Was ist mit Gestures im Text? Was ist mit Smooth-Scrolling? Was ist mit ... ?

zero_x

09.02.2011 - 12:56 Uhr

Hallo Mossi,

beide Klassen exportieren auf den Contract IRepository. Beide Klassen müssen auch gefunden werden. Du musst natürlich beim _Import _oder ImportMany den richtigen Contract-Typen angeben, in deinem Fall IRepository. Ohne den Code von dir getestet zu haben: Ich kann mir nicht vorstellen, dass wenn du auf _IRepository _importierst, Repository(abgeleitet von BaseRepository) nicht gefunden werden kann.

Du kannst alternativ auch Repository auf zwei Contracts exportieren. Beispiel:

[Export(typeof(IRepository))]
[Export(typeof(BaseRepository))]
public class Repository: BaseRepository, IRepository { }

Wird eine Exception geworfen? Ansonsten [Hinweis] Wie poste ich richtig? Punkt 5.

zero_x

08.02.2011 - 14:58 Uhr

Hallo csd0755,

möchtest du herausfinden, ob sich deine oder eine Anwendung im Vordergrund befindet?

zero_x

07.02.2011 - 13:29 Uhr

Hallo Fr3dd1,

du kannst versuchen, eine Extension Method zu schrieben. Warum möchtest du nicht von ObservableCollection ableiten?

zero_x

07.02.2011 - 11:01 Uhr

Hallo bl4ckY,

du kannst dich an dem TranslateZoomRotate-Behavior orientieren. Das sollte dir auf die Sprünge helfen.

zero_x

06.02.2011 - 18:26 Uhr

Hallo Taladan,

entweder ist es ein Fehler vom Designer oder Visual Studio braucht noch die Angabe der Assembly. Versuch mal hinter clr-namespace:MeinNamespace folgendes noch hinzuzufügen: ;assembly=<AssemblyName>.

zero_x

06.02.2011 - 18:06 Uhr

Hallo flippy08,

das Angebot ist meines Wissens noch gültig. Beachte bitte, dass das Angebot nur bei den .NET-Angebot gilt, bei dem anderen Angebot nicht. Dir wird zwar der Preis angezeigt, aber bei der Abbuchung wird schon der richtige Betrag abgebucht. Das steht auch hier: ASP.NET Webspace mit Rabatt für myCSharp.de Benutzer. Ansonsten: Anrufen und fragen. Der Support ist kostenlos.

zero_x

06.02.2011 - 18:03 Uhr

Hallo Naishweb,

wenn du zwei Instanzen hast, also

Person personZero_x = new Person { Firstname="zero_x" }
Person personNaishweb = new Person { Firstname= "Naishweb" }

hast, dann bleibt dir nichts anderes übrig, als eine Logik für das Vergleichen zu schreiben. Ich persönlich würde das via Reflection lösen, sprich alle Properties zwischen zwei oder mehreren Instanzen zu vergleichen.

zero_x

06.02.2011 - 13:03 Uhr

Hallo Haggard,

siehe auch [Hinweis] Wie poste ich richtig? Punkt 6.1.

Ich vermute stark, dass es nicht bei dir, sondern an der Komponente liegt, die du verwendest. Wie sehe, gibt es eine Demo für die Komponente. Versuch mal zu vergleichen, warum es dort nicht zu der Fehlermeldung kommt und warum es bei dir zu der _NullReferenceException _kommt. Wie sieht es mit den anderen Properties/Collections aus, die irgendwie auf _imgSet1 _verweisen? Es kann gut sein, dass von da der Fehler kommt und dadurch die _NullReferenceException _geworfen wird.

zero_x

05.02.2011 - 22:57 Uhr

Hallo dark-cms,

so ist es richtig.

zero_x

05.02.2011 - 22:45 Uhr

Hallo dark-cms,

die Klasse entspricht nicht den Naming Guidelines. order_details implementiert zwar von INotifyPropertyChanged, ist aber immer noch nicht richtig umgesetzt. Im Setter aller Properties bzw. an die Property, an denen gebunden wird, muss _OnPropertyChanged _aufgerufen werden. Der Grund ist, dass WPF dann nicht mitbekommt, ob sich ein Wert einer Property verändert hat oder nicht.

Verstehe ich das richtig, dass du Daten aus einer XML-Datei anzeigen möchtest? Du hast die Möglichkeit in WPF direkt an eine XML-Datei bzw. an den Inhalt zu binden.

zero_x

05.02.2011 - 22:22 Uhr

Hallo lord_fritte,

Visual Studio spuckt folgende zwei Warnungen aus:

Fehlermeldung:

Type parameter 'T' has the same name as the type parameter from outer type 'ConsoleApplication6.TestClass1<T>'

Type parameter 'T' has the same name as the type parameter from outer type 'ConsoleApplication6.TestClass1<T>.TestClass2<T,T2>'

Bringt das ein wenig Licht ins Dunkel? Ich hoffe mal, ich habe dich richtig verstanden.

zero_x

05.02.2011 - 22:09 Uhr

Hallo dark-cms,

so wie du es machst, ist es falsch. In WPF gibt es sog. Bindings. Du setzt die Bindings im Code. Das ist wirklich die schlechteste Idee! Davon kann ich dir nur abraten! Befasse dich lieber mit den Grundlagen des Data-Bindings. Hier findest du einen guten Einstieg.

Wie ich sehe, arbeitest du direkt mit den Daten. Auch das ist eine schlechte Idee. Erstell dir Klassen, die eine Tabelle repräsentieren sollen. In den Klassen schreibst du deine Validierungs-Regeln und Sachen wie z.B. INotifyPropertyChanged. Stichwort: O/R-Mapper, Model.

zero_x

04.02.2011 - 23:18 Uhr

Hallo Lolly,

so z.B.:

string fileName = Path.GetFileName(@"C:\test.txt");

:rtfm:

zero_x

04.02.2011 - 23:02 Uhr

Hallo Lolly,

das klingt ein wenig nach [FAQ] Variablennamen zur Laufzeit zusammensetzen. Wie genau gehst du vor? Verwendest du einen string in mehreren Schleifen und setzt so anhand von i den Namen fest in Abhänigkeit von irgendwas? Das würde ich dir nicht raten! Das ist der schlechteste Weg!

Mit File.Move kannst du eine Datei von einem Verzeich in ein anderes Verzeichnis verschieben. So ist es auch am besten.

Wenn du Einstellungen zwischenspeichern möchtest, dann [Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0.

zero_x

04.02.2011 - 22:25 Uhr

Hallo herbivore,

ich finde es schade, dass es kein Hyperlink-Icon für CodePlex gibt. Aus diesem Grund habe ich mir mal die Mühe gemacht und das Icon von CodePlex angepasst. Getestet habe ich es und hat genau die richtige Größe. Hier eine Demo:

[URL].NET Extensions - Extension Methods Library for C# and VB.NET[/URL]
[URL]WPF Application Framework (WAF)[/URL]

Anbei das Icon. Wäre nett, wenn du - oder ihr - das umsetzen könntet.

Nachtrag: Für StackOverflow habe ich mir auch mal die Mühe gemacht. Beispiel:

Test. Test. Test. Test.
Test.[IMG]http://www.mycsharp.de/wbb2/images/stackoverflow.png[/IMG] Test.
Test. Test. Test.

zero_x

04.02.2011 - 22:04 Uhr

Hallo DangerNME,

das ist komsich. Ich kann mir selber nicht erklären, warum das so bei dir ist. Hast du sonst noch anderen Code, der auf label1.Text zugreift und eventuell was am Text von label1 verändern könnte? Normal ist das nicht.

Verwende lieber die string.Format-Methode. Siehe auch: StringBuilder.

zero_x

04.02.2011 - 20:13 Uhr

Hallo zusammen,

mich würde es mal interessieren, was so eure Favoriten unter den Programmierbüchern sind. Ich finde, es gibt viele „top secret“ Bücher, die wenige kennen. Bücher gibt es wie Sand am Meer. Aber ein wirklich richtig gutes Buch ist – finde ich – oft schwierig zu finden. Aus diesem Grund möchte ich diesen Thread starten, um von euch zu hören, was eure „Liebungsprogrammierbücher“ so sind. Ich mache einfach mal den Anfang:

[B]Entwurfsmuster von Kopf bis Fuß (von O'Reilly)[/B]

Patterns anhand von Beispielen auf den Punkt gebracht. Das komplette Buch besteht überwiegen aus Dialogen, Zeichnungen und Diagrammen. Man hat eine krasse Gegenüberstellung von einer falschen oder intuitiven Lösung und dem Pattern/richtige Lösung. An einigen Stellen hat mich das Buch vom Hocker gehauen! Kann ich jedem Anfänger und Fortgeschrittenen nur weiterempfehlen. Weiteres [URL]hier[/URL].
[B]C# in Depth – 2nd Edition (John Skeet)[/B]

Sprachlos. Mein Lesen denkt man, dass das nicht möglich ist. Das Buch bringt einen an sehr vielen Stellen einen ins Grübeln. Bei der Auflösung bzw. Erklärung wird der Grund für das Kuriose genannt. Sehr interessant!

zero_x

04.02.2011 - 11:59 Uhr

Hallo hypersurf,

startet die Anwendung? Wird zur Laufzeit das DataTemplate richtig angezeigt? Es kann gut sein, dass es einfach ein Fehler vom Designer ist.

zero_x

04.02.2011 - 11:41 Uhr

Hallo hypersurf,

ich verstehe ehrlich gesagt nicht, wo dein Problem ist. Suchst du sowas wie ein Wizard für das MVVM-Pattern oder eine Art Breadcrumb-Bar? Hilft dir das oder das weiter?

zero_x

04.02.2011 - 10:09 Uhr

Hallo talla,

mir kommt das so vor, als ob du da was falsch verstehst. Du hast von einem Compiler gesprochen. Der Assembler-Code ist schon kompiliert. Was getan wird, ist im Grunde nur den Assembler-Code, den Maschienen-Code, auszuführen. Dort wird also nichts kompiliert.

OllyDbg und IDA Pro können den Assembler-Code analysieren. Meist wird an der Seite die Stellen angezeigt, an denen Schleifen oder if-Abfragen sind. Die beiden Tools zeigen die Schleifen/Abfragen an, obwohl der Code noch gar nicht augeführt worden ist. Also muss dahinter sowas wie ein Parser stecken. Und davon gehe ich sehr stark aus.

Hallo scrabbl,

ich würde an deiner Stelle versuchen, einen Parser zu programmieren. Anders kann ich mir das auch nicht vorstellen. Du findest im Internet bestimmt schon fertige Implementierungen. Kannst du uns näher beschrieben, was du vor hast?

zero_x

04.02.2011 - 00:00 Uhr

Hallo GammelZahn,

du hast doch in deinem Codebeispiel die _ValidationRule _gesetzt. Worauf ist deine Frage bezogen?

zero_x

03.02.2011 - 17:51 Uhr

Hallo smilingbandit,

ohne mir den Code anzuschauen: Hier findest du eine fertige Implementierung. Dort kannst du schauen, wie es dort programmiert worden ist. Das sollte dir eigentlich helfen.

zero_x

03.02.2011 - 17:47 Uhr

Hallo ThomasSch,

beim Serialisieren/Deserialisieren hast du das Problem, dass die Abhänigkeiten(Instanzen) nicht wieder so einfach deserialisiert werden können. Was du tust, ist eine "krasse" Umgestaltung des Codes. Du zwingst den Code in einer gewissen Art und Weise sich anders zu verhalten. Das ist nicht gut. Ich würde dir raten, eine Datenbank oder ein anderes Speicherformat zu wählen.

Empfehlen kann ich dir das Lounge Repository. Siehe auch Tiefes Kopieren belibiger Objektnetze.

zero_x

03.02.2011 - 17:38 Uhr

Hallo Bunnychecker,

sonst bleibt der Stream offen. Das möchtest du bestimmt nicht. Du kannst auch ein using verwenden. Dann brauchst du dich um das schließen nicht mehr zu kümmern.

zero_x

02.02.2011 - 17:08 Uhr

Hallo High End Gaming PC Freak,

bei Animationen in WPF brauchst du keine Threads zu erstellen. Das alles übernimmt WPF intern. Du musst lediglich die Animation angeben und starten. Am besten machst du das im XAML-Code. Im Code ist das alles sehr aufwenig. Warum möchtest du überhaupt die Animation als C#-Code schrieben? Das hat absolut keine Vorteile. Schreib das direkt im XAML.

zero_x