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 KroaX
Thema: Wird C# aussterben? (Spoiler: Nein)
Am im Forum: Smalltalk

Zitat von snapCode
Java und Java FX muss aber immer fummeln was ich echt schade finde.

Daher habe ich bis heute noch keine GUI wie ich mir diese vorstelle.

Microsoft Visual Studio scheint mit dem WPF alles in einem Guss zu haben und möchte es mal damit versuchen. Nun habe ich Visual Studio 2019 und das Buch C# mit Visual Studio 2019 und mache mal die ersten Schritte.

Ob du bei WPF ohne fummeln auskommst ist allerdings fragwürdig. Ist schwer zu sagen was du dir vorstellst. Hab bisher noch nie mit einem GUI Frontend gearbeitet welches mir alle Wünsche von den Lippen abgelesen hat.

Thema: Wird C# aussterben? (Spoiler: Nein)
Am im Forum: Smalltalk

Ich lese clickbait und unbelegte Aussagen.

gg

Thema: Politik trifft Git - Umbenennen des Master Branches
Am im Forum: Szenenews

Ohne eine erneute Diskussion Triggern zu wollen. Wird der Scrum Master / Agile Master auch künftig umbenannt? Weiß da jemand was von?

Thema: Wie ein DependencyProperty entwickeln, das eine generische ObservableCollection akzeptiert?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Warum braucht ihr an dieser Stelle hier den konkreten Typ ObservableCollection<T> ? Reicht euch ggf. auch das INotifyCollectionChanged als Interface ggf. in Kombination mit ICollection / IList?

Warum benötigt ihr Zugriff auf den konkreten Typen? Reicht euch ggf. nicht einfach davon auszugehen, dass Data eine IList ist ( wohlgemerkt ohne den generic Type ). Ihr könntet dann über Reflection den Generic Type der IList ermitteln und dann ebenfalls über reflection eure Properties ermitteln.


  public static Type GetGenericTypeDefinitionOfIEnumerable(this Type enumerable)
        {
            return enumerable.GetInterfaces().Where(t => t.IsGenericType && t.GetGenericTypeDefinition() == typeof(IEnumerable<>))
                .SelectMany(t => t.GetGenericArguments()).First();
        }

Thema: Wie entwickle ich am Besten ein Tool, das die Verbindung zum Application-Server prüft?
Am im Forum: Datentechnologien

Eine wichtige Frage wäre was für eine Art Verbindung du testen möchtest. Als einfachste Methode gilt hier eigentlich ein Ping auf den Server. Wenn du das für bestimmte Ports benötigst hilft dir ggf. dieser Stackoverflow post Ping a Specific Port

Thema: DWX Home - Online Konferenz
Am im Forum: Szenenews

Kostenlos für diejenigen die Tickets für November gekauft haben.

Thema: Stimmt der Weg zum OOP Code? Was lege ich wo hin?
Am im Forum: Code-Reviews

Ich hätte ein paar generelle Tipps für dich:

- Programmieren ist zum allergrößten Teil Erfahrung. Erfahrung erlernt man nicht aus Büchern (die sind aber natürlich trotzdem wichtig) und man muss viel Zeit mitbringen. Das Programmieren sein zu lassen würde ich dir also nur dann raten wenn es dir keinen Spaß macht. Ansonsten gilt: Bleib dran auch wenn es stellenweise frustrierend sein kann.

- Du glaubst Objektorientierung verstanden zu haben. Aber das ganze geht weit über die Verwendung von Objekten hinaus. Und auch die OOP ist kein Allheilmittel. Ich habe das Gefühl das dir ein Buch über Entwurfsmuster einen großen Schritt ermöglichen würde. Buchempfehlung hier: "Head first design patterns" ( wenn du es magst das Dinge wirklich einfach und verbildlicht erklärt sind ) oder "Design Patterns. Elements of Reusable Object-Oriented Software" ( mehr text aber eigentlich die bessere Lektüre ).

- Es ist gut wenn du fragst was andere über deinen Code denken. Das zeigt das du selbst reflektiert bist und Kritik zulässt. Das ist ein sehr wichtiger Faktor in der Softwareentwicklung. Bleib dabei von anderen etwas zu lernen und gib weiter was du selbst verstanden hast.

- Es gibt nur ganz selten den einen richtigen Weg. Gewöhne dir an darüber nachzudenken was für deinen Anwendungsfall gerade die beste Lösung zu sein scheint ( unter den dir wichtigsten Gesichtspunkten ). Du wirst merken, dass man nicht immer alle Vorteile eines Weges bekommen kann ohne andere Nachteile mit zu ziehen. Daher ist es wichtig sich zu überlegen was man erreichen will.

Thema: Wie rufe ich mit EF6 eine Stored Procedure auf und nehme die Rückgabewerte an?
Am im Forum: Datentechnologien

Wäre einfacher und schneller gewesen du hättest es bei google eingegeben

Google-Suche nach call stored procedure with entity framework 6

Thema: Review meines EER-Diagramms
Am im Forum: Code-Reviews

Zitat von Abt
Von MySQL würde ich generell - wie eigentlich fast die gesamte Community - mittlerweile großen Abstand nehmen.
MariaDB ist ja zB aufgrund der politischen Problematik mit MySQL entstanden. Selbst in der PHP Welt gibts mittlerweile große Abstandsversuche von MySQL.

Hast du dazu etwas mehr Background? Vielleicht nen Artikel oder zwei die du gelesen hast? Hab davon gar nichts mitbekommen aber es würde mich interessieren wo die Probleme bestehen und wie sie entstanden sind.

Thema: Eigenschaften des Model aus dynamisch generiertem ViewModel zugreifen
Am im Forum: GUI: WPF und XAML

Warum möchtest du in der ObservableCollection denn unbedingt Models haben?

Wäre es nicht logischer deine DeviceViewModels in dieser Collection zu halten und jedes DeviceViewModel ist der Container für ein Model? Damit sollte dein Problem der Hierarchie doch einfach lösbar sein?

Thema: Eigenschaften des Model aus dynamisch generiertem ViewModel zugreifen
Am im Forum: GUI: WPF und XAML

Zitat
ich kann jedoch nicht die Eigenschaften des Models abrufen, dessen Button auf dem ViewModel geklickt wurde.

Das musst du näher ausführen. Was ist dein Model ( Gerät? ). Wie willst du die Eigenschaften abrufen?

EIn Button wird nicht auf einem ViewModel geklickt. Du hast vielleicht einen Command in deinem ViewModel welcher per Binding auf einen Button in deinem DataTemplate gebunden ist.

Dein DataTemplate besteht hier jedoch nur aus einem Gerät Control. Das Control müsste man mal sehen.

Ich hoffe der Typ Gerät aus ObservableCollection<Gerät> entspricht nicht demselben Typ Gerät deines Controls ( local:Gerät ) ansonsten hast du etwas missverstanden bei MVVM Konzept.

Thema: Eigenschaften des Model aus dynamisch generiertem ViewModel zugreifen
Am im Forum: GUI: WPF und XAML

Hast du auf deinen Item ViewModels einen Command den du ausführen könntest? Mir ist nicht ganz klar was du bisher versucht hast.

Thema: Freigeben von Resourcen (Dispose) bei UserControls
Am im Forum: GUI: WPF und XAML

Da wäre dann die Frage warum du sie explizit im Codebehind erstellen musst?

Erzeugst du aus deinen Daten entsprechende UI Elemente? Wenn ja ist hier das Konzept von DataTemplates und DataTemplateSelector im Zusammenhang mit ContentControl und ItemsControl vermutlich von Interesse.

Thema: Warum werden Entitäten und deren Beziehungen in ASP.NET Core Views nicht angezeigt?
Am im Forum: Web-Technologien

Wenn die Abhängigkeiten deines Services im DI Container registriert sind, dann werden die Laufzeit automatisch aufgelöst. D.h. du musst nichts explizit übergeben.

Wenn also sowohl Context als auch Service beide als Typen im DI Container registriert sind werden die Abhängigkeiten zur Laufzeit auch vom DI Container automatisch erzeugt / wiederverwendet

Thema: Wie ist die wirtschaftliche Situation bei euch aktuell?
Am im Forum: Smalltalk

Wir machen bereits seit 4 Wochen Homeoffice.

Da wir jedoch ein Unternehmen ohne Projekte sind und eine eigene Produktpalette entwickeln ist bei uns eigentlich vom Homeoffice abgesehen alles beim alten. Da unsere Kunden Onlinehändler sind, ist sogar gefühlt fast mehr los als sonst.

Thema: WPF, Prism, Unity mehrfache Anzeige einer View mit unterschiedlichen Daten
Am im Forum: GUI: WPF und XAML

Deine Idee ist nicht besonders neu. Daher gibt es dazu auch schon sehr viele Lösungen / Lösungsansätze bei Google: ( Suche = Wpf Prims Tabs )

Google-Suche nach wpf prism tabs

Thema: Warum werden Entitäten und deren Beziehungen in ASP.NET Core Views nicht angezeigt?
Am im Forum: Web-Technologien

[offtopic]

Zitat
Wie aber Papst schon sagte musst Du ordentlich die Schichten trennen.

Haha ich hab gelesen: Wie der Papst schon sagte ....

Musste herzlich lachen weil ich den Gedanken übertragen habe auf "das Volk in Schichten zu trennen". Ich dachte echt es ist eine Floskel.
[/offtopic]

Thema: Code aus Klasse ausgliedern
Am im Forum: Grundlagen von C#

In der Regel kannst du sowas über einen Bounded Context bzw. Aggregates lösen.

Es ist nicht so als müsste dein Autositz jemanden fragen wer der Fahrer ist, viel mehr müsste dein Auto mitbekommen wenn der Fahrer gewechselt wird ( oder wo auch immer ) und diese Information auch sofort an den Autositz weitergeben. Somit bleibt die Zuständigkeit beim Fahrerwechsel ganz eindeutig beim Auto.

Schau dir am besten die Thematik zum Domain Driven Design an und ergänzend kann ich außerdem das Prinzip des Data Oriented Design empfehlen.

Thema: ItemTemplateSelector SelectedTemplate wird nicht mehr ausgelöst
Am im Forum: GUI: WPF und XAML

Erzeug den TemplateSelector doch mal etwas weiter oben in den Ressourcen des Parents und mach aus dem DynamicResource Verweis eine StaticResource.

Thema: Wie mit MVVM auf ComboBox SelectionChanged-Event reagieren?
Am im Forum: GUI: WPF und XAML

Zitat
Ich frage mich ja, warum ich da nicht gleich draufgekommen bin! Ich überlege, ob das nicht sogar sauberer ist; denn tatsächlich brauche ich ja nur den geänderten Wert! Die View selbst interssiert sich in meinem Fall gar nicht mehr dafür, was mit dem Wert passiert; so vom Gefühl her würde ich sagen, dass man vlt. auf das SelectionChanged-Event nur dann mit einem EventToCommand reagieren sollte, wenn dadurch eine Relevanz für die View gegeben ist (veränderte Darstellungsoptionen, etc). Da ich hier aber aus dem Bauch raus argumentiere, kann und will ich dafür nicht die Hand ins Feuer legen. Es würde mich aber schon interessieren, wie sich das verhält, oder ob es schlicht Wurscht ist.

Nochmals Danke, macht's gut,
Vorph

Am saubersten ist das was am ehesten deinem Usecase entspricht. Wenn du eine Aktion nur auslösen möchtest wenn der Benutzer über die UI eine Änderung an der Combobox vollzieht wäre es möglicherweise sauberer es über ein EventToCommand zu lösen.

Bedenke nämlich: Eine Änderung am Property innerhalb deines ViewModels würde dieselbe Bedeutung haben wie die Benutzerinteraktion aus der UI. Und manchmal möchte man dazwischen unterscheiden können.

Thema: Wie mit MVVM auf ComboBox SelectionChanged-Event reagieren?
Am im Forum: GUI: WPF und XAML

Das magische Suchwort für dich lautet wohl EventToCommand. Unter diesem Begriff versteckt sich am häufigsten was du tun möchtest. Jedes gängige MVVM Framework hat dazu eine fertige Implementierung mitsamt der Einbindung der notwendigen Abhängigkeiten.

https://stackoverflow.com/questions/5868589/mvvm-light-adding-eventtocommand-in-xaml-without-blend-easier-way-or-snippet

Das hier ist ein Beispiel mit MVVM Light. Eventuell ziehst du ja in Betracht ein bestehendes MVVM Framework zu nutzen anstatt selbst eines zu schreiben.

Thema: SQLite funktioniert in VS 2019 nicht ordentlich. Alternativen?
Am im Forum: Datentechnologien

Ich glaube worum es Wasined hier ging ( zumindest habe ich das so rausgelesen ) ist das Tooling rund um das eingesetzte System. Das sollte aber natürlich nicht das Hauptkriterium sein bei der Auswahl der Technologie.

Wie du SQLite, als Framework, in deiner Wpf Anwendung unterbringst sollte durch ein paar kleinere Tutorials schnell abgefrühstückt sein. Empfehlenswert sind die automatischen Einbindungsmöglichkeiten über Toolings in Visual Studio sowieso meist nicht da man dazu verleitet wird sich keine Gedanken über die interne Softwarearchitektur zu machen.

Wenn es dir nur darum geht, dass du die Daten und Strukturen in deiner Sqlite Datenbank verändern und auslesen kannst ,ohne deine Anwendung zu nutzen, dann kann ich dich beruhigen. Dafür gibt es zahlreiche Tools im Internet mit denen du dies erreichen kannst. Es wird dann halt nicht direkt über Visual Studio laufen. Ich sehe das aber durchaus als Vorteil und nicht als Nachteil.

Ich habe meist SqliteExpert ( free edition ) oder Sqlite Administrator verwendet.

Thema: Aktualisieren einer Eigenschaft eines Objekts
Am im Forum: Grundlagen von C#

public Person[] Verlauf { get; set; }

Du erstellst ja auch keine Instanz von dem Array

Thema: Beschleunigung von Accelerometer in Strecke für Unity - wie umsetzten?
Am im Forum: Grundlagen von C#

Zu deiner Frage mit der Zeit:

Ich glaube für sowas gibt es in Unity die sog. DeltaTime

https://docs.unity3d.com/ScriptReference/Time-deltaTime.html

Die Info ist allerdings als vorsichtig zu betrachten, da ich mir Unity auch erst gestern zum ersten Mal angeschaut habe.

Thema: Suche Buch mit Erfahrungswertvermittlung für Unity 3D
Am im Forum: Buchempfehlungen

Hallo zusammen,

ich interessiere mich sehr für die Konzepte und Herangehensweisen der Spieleprogammierung in Unity 3D und suche daher nach einem guten Buch zum Lesen für unterwegs.

Was ich NICHT suche:
-------------------------
- Ein Buch was mir jede Funktion des Editors erklärt und was man damit machen kann.
- Wie baue ich mein erstes Spiel indem ich Code und Material irgendwohin lege und irgendwie ans laufen bekomme.
- Grundlagen in C#


! Was ich suche:
-------------------
- Toll wäre es wenn es von jemandem aus der Branche geschrieben ist der auch persönliche konkrete Erfahrungen und somit Do's and Don'ts vermittelt.
- Wie trenne ich am effektivsten meine Spiel logik von dem aktuellen Spielclient
- Einführung in Strukturierung von Spielinhalten, Vermittlung der Konzepte und Design Patterns dahinter.
- Worauf sollte man wachsenden Projekten achten und welche Probleme treten häufig auf. Wie kann man sie vermeiden?


Für jede Empfehlung bin ich dankbar :-). Bin bereits über dieses Buch gestolpert ( -> Game Programming Patterns (Englisch) Taschenbuch ) , jedoch habe ich die Befürchtung, dass es nur einen Bruchteil meiner eigentlichen Fragen beantwortet ( Welche Patterns es gibt )

Thema: DPI Scaling Multi Resolutions and DPI Settings
Am im Forum: GUI: Windows-Forms

Zu deiner Frage 1:

https://visualstudiomagazine.com/articles/2007/10/01/enable-the-application-framework-in-vb.aspx

Thema: WinForms verschiedene Rechner verbinden im gleichen Netz
Am im Forum: Rund um die Programmierung

Wenn du es halbwegs sauber umsetzen möchtest wirst du nicht um einen Server in irgendeiner Form drum herum kommen.

Das wäre entweder ein SQL Server der als Schnittstelle für alle Clients dient oder eine von dir geschriebene Lösung welche im Grunde dasselbe tut.

Natürlich gibt es auch andere Wege aber die sind vermutlich aufwändiger oder fehleranfälliger für dein Szenario

Thema: PropertyChange Event in eine andere Klasse weiterleiten
Am im Forum: GUI: WPF und XAML

Ich habe mit solchen impliziten Abhängigkeiten eher schlechte Erfahrungen gemacht und kann daher nur davon abraten. Was ich meine?

-> ViewModelA hat ein Property welches sich aus 2 oder mehr Properties zusammensetzt die woanders liegen.

Ich würde empfehlen: Schreib konkrete Logik die dein zusammengesetztes Property wirklich ändert wenn sich eine der Abhängigkeiten ändert. Dadurch musst du keine bestimmte Logik mehr nachziehen wenn es um Validierung o.ä. geht, denn dein PropertyChanged wird ja wirklich geworfen weil es sich geändert hat. Das hat auch den Vorteil der Nachvollziehbarkeit im Code.


Zu deiner eigentlichen Ausgangsfrage:

Ich würde das PropertyChanged Event von ViewModelB fangen und in der Behandlung dein Property welches scheinbar eine Abhängigkeit hat neu Berechnen und Zuweisen. Das ganze kannst du dann auch easy durch einen Unittest abdecken.

Das wichtigste aber ist, du baust eine explizite Abhängigkeit die man leicht nachlesen kann. Ich persönlich halte nichts davon wenn ein Property mehrere PropertyChanged Ereignisse für andere Properties wirft nur weil sich diese scheinbar an etwas bedienen.

Thema: PropertyChange Event in eine andere Klasse weiterleiten
Am im Forum: GUI: WPF und XAML

Warum implementiert ViewModelB nicht IDataErrorInfo?

Thema: Event soll nur einmalig Informationen liefern
Am im Forum: Grundlagen von C#

Verstehe danke dir für den Einblick.