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 MrSparkle
Thema: Canvas im Canvas aus OberservableCollection
Am Gestern, im Forum: GUI: WPF und XAML

Wo genau liegt das Problem? Was funktioniert nicht? Was hast du schon probiert?

Schau mal in [Hinweis] Wie poste ich richtig?, du mußt uns schon ein paar mehr Infos geben, um dir helfen zu können.

Schau auch mal in [Artikel] MVVM und DataBinding, besonders in den Abschnitt Debugging, um deine DataBindings debuggen zu können.

Thema: unterstes Einstellungsgehalt als Entwickler
Am im Forum: Smalltalk

Zitat von CoderboyPB
Aber was rufe ich auf, um mich so teuer wie möglich zu verkaufen, ohne aber unverschämt zu sein?

Das ist die falsche Frage
Du mußt jemand finden, der dir ein gutes Angebot machen will, weil er deine Qualifikationen braucht.

Wenn du also gut mathematische Algorithmen programmieren kannst, dann solltest du dir erstmal ein Unternehmen (oder eine Behörde oder so) suchen, wo Leute mit dieser Qualifikation benötigt werden. Und dann mußt du auch irgendwie zeigen können, daß du diese Qualifikationen besitzt. "Kann ich, hab ich schon gemacht, vertraut mir einfach" kommt in einem Jobinterview nicht so gut an. Am besten hast du Code, den du zeigen und erklären kannst, damit die Leute wissen, daß du es auch selbst geschrieben hast, und weißt, was du tust. Wenn du deinen Code bei GitHub hostest, dann kannst du gleich den Link in deine Bewerbungen reinschreiben.

Und über das Gehalt redet man ja meist auch erst zum Schluß. Wenn also schon klar ist, daß beide Seiten an einer Zusammenarbeit interessiert sind.

Thema: Syntax-Highlightning mit Richtextbox - DesignPattern? - MVVM oder Codehehind?
Am im Forum: GUI: WPF und XAML

Ich würde für WPF auch uneingeschränkt AvalonEdit empfehlen, damit kann man Editoren für alle möglichen Sprachen inklusive Syntax-Highlighting und Intellisense erstellen. MVVM wird auch unterstützt.

Thema: CheckBox - Textumbruch beim AutoSize = 'False'
Am im Forum: GUI: Windows-Forms

Für das Layout muß man überhaupt nichts berechnen, dafür hat WinForms bereits alles, was man braucht. Meistens jedenfalls.

Siehe z.B.:
Position and layout of controls
Walkthrough: Arranging Controls on Windows Forms Using a TableLayoutPanel

Thema: Label soll erscheinen bevor Daten geladen werden
Am im Forum: GUI: WPF und XAML

Warum das so ist, steht in [FAQ] Warum blockiert mein GUI?

Wie man es richtig macht, steht in [Artikel] MVVM und DataBinding. Darauf bist du ja schon öfters hingewiesen worden. Schau dir das ruhig mal an, das macht alles wesentlich einfacher.

Thema: zusammengesetzte Zuweisungen
Am im Forum: Grundlagen von C#

Warum postest du diese Frage im Forum "Buchempfehlungen"? Lies mal bitte [Hinweis] Wie poste ich richtig?.

Zum Thema: Meinst du Eigenschaften? Hier wird erklärt, wie man den Einstieg in C# findet: [FAQ] Wie finde ich den Einstieg in C#?

Thema: Template aus Basisstyle wiederverwenden
Am im Forum: GUI: WPF und XAML

Leider nicht. Wenn du das ControlTemplate eines Elements überschreiben willst, mußt du es komplett ersetzen.

Thema: XAML: Visibility mit RelativeSource binden
Am im Forum: GUI: WPF und XAML

Die DataGridColumn ist in WPF nicht Teil des VisualTrees, daher ist auch das Window kein übergeordnetes Element. Anstatt RelativeSource zu verwenden, kannst du mit ElementName direkt auf ein benanntes Element zugreifen. Siehe dazu die Beispiele in [Artikel] MVVM und DataBinding.

Thema: Style Triggers für Child Elements
Am im Forum: GUI: WPF und XAML

Dafür kannst du die Setter.TargetName-Eigenschaft verwenden. In der Doku findest du ein Beispiel.

Thema: MahApps.Metro Themes finden
Am im Forum: GUI: WPF und XAML

Hier findest du eine Anleitung, um eigene Themes zu erstellen: Thememanager

Thema: DataGridCell | Value wird nicht aktualisiert
Am im Forum: GUI: WPF und XAML

Du hast vergessen, das INotifyPropertyChanged-Interface zu implementieren. Siehe dazu diese Anleitung: [Artikel] MVVM und DataBinding

Thema: UserControl vorherigen Zustand übernehmen
Am im Forum: GUI: WPF und XAML

Das ViewModel ist dafür verantwortlich, Zustände zu speichern. Die Benutzeroberfläche ist nur dazu da, die Zustände anzuzeigen und auf Benutzereingaben zu reagieren.

In deinem Beispiel wird das UserControl jedes Mal neu erstellt, dadurch geht der Zustand verloren. Erstelle dir ein ViewModel und binde das an das UserControl, dann wird es funktionieren. Siehe dazu den von Th69 verlinkten Artikel, sowie [Artikel] Drei-Schichten-Architektur

Thema: Wann wann darf man eine Frage auch in einem anderen Forum stellen?
Am im Forum: Smalltalk

Zitat von Palladin007
Stell einfach deine Frage und schreib einen Link zum alten Thema und den Grund für den CrossPost.

Genau so würde ich es auch empfehlen.

Thema: Wie lerne ich C#?
Am im Forum: Smalltalk

Bezüglich des Schrödinger-Buches: siehe Programmieranfänger - Lohnt sich Anfangen (mit Informatikstudium) mit 33 Jahren noch? oder [Buchfrage] Bestes Buch für blutige Anfänger basierend auf WPF bzw. die Foren-Suche

Thema: Visualle Unterschiede in einem Bild erkennen
Am im Forum: Grafik und Sound

Zitat von Christoph K.
Konkret möchte ich zwei Versionen einer Webseite vergleichen (die gerenderten Versionen). Wenn ich die Pixel 1 zu 1 vergleich, dann würde ich eine fast 100%ige Änderung erhalten, wenn ich oben auf der Webseite eine Zeile Text einfüge. Ich suche nun nach einem Verfahren/Algorithmus, der mir in diesem Fall ein realistischeres Ergebnis liefern würde.

Was genau wäre für dich in diesem Fall ein realistisches Ergebnis?

Thema: String auf mehrere Zeilen prüfen
Am im Forum: GUI: Windows-Forms

Wenn man nur wissen möchte, ob ein String einen Zeilenumbruch enthält, dann geht das am einfachsten so:


bool isMultiLine = someText.Contains('\n');

Das funktioniert mit Texten von (fast) allen Systemen, denn die meisten Systeme benutzen irgendeine Kombination mit '\n' oder nur '\n' für einen Zeilenumbruch.

Thema: Anzahl Checkbox checked als Wert für for Schleife
Am im Forum: Grundlagen von C#

Beschäftige dich mal mit objektorientierter Programmierung. Steuerelement in der UI und Anwendungs-Einstellungen sind auch nur spezielle Fälle davon. Damit kannst du dich dann beschäftigen, wenn du die Basics beherrschst.

Arbeite am besten mal ein Buch durch, z.B. das kostenlose C#-Buch vom Rheinwerk-Verlag: Visual C# 2012 - Das umfassende Handbuch von Andreas Kühnel.

Das Forum ist besser geeignet, wenn du konkrete Fragen hast. Lernen und üben können wir dir hier nicht abnehmen.

Siehe dazu auch [Hinweis] Wie poste ich richtig?

Thema: gleiche Hintergrundfarbe für einige DataGridTextColumns
Am im Forum: GUI: WPF und XAML

Siehe dazu auch [Artikel] MVVM und DataBinding, 4. Kapitel: Styles und Trigger.

Thema: Grafik strecken und pictureBox skalieren
Am im Forum: Grafik und Sound

Wenn du das Bild selber zeichnest, dann mußt du auch selbst die PictureBox skalieren und die Scrollbars anpassen. Oder andersherum das Bild skalieren, damit es in die PictureBox paßt.

Warum sollte die PictureBox eigentlich zu langsam sein, um ein Bild anzuzeigen? Sie wird ja auch nur die GDI-Funktionen des Betriebssystem dafür aufrufen.

Thema: Wie lerne ich C#?
Am im Forum: Smalltalk

Es ist wie beim Lernen von anderen Sprachen auch: Du solltest nicht nur die Lektionen durcharbeiten, sondern auch die Übungen dazu machen. Dann kannst du verstehen, anstatt auswendig zu lernen. Wenn es in deinem Kurs keine Übungen gibt, dann such dir welche im Netz, schreib ein eigenes kleines Programm, oder schau dir den Code von anderen Leuten an.

Thema: Wie mache ich einen Server Multitaskingfähig?
Am im Forum: Netzwerktechnologien

Denke, daß es mit asynchronen Methoden allein nicht besser wird. Der ganze Code ergibt irgendwie keinen Sinn. Warum hast du denn z.B. die gesamte "ServerEngine"-Klasse mit statischen Methoden implementiert?


public class ServerEngine
{
	public ServerEngine(int port)
	{
		//...
	}


	public static void Receiver(object server)
	{
		if ((ServerEngine)server) // ... 
	}
}

Hier fehlt es dir einfach an den Basics bzw. Grundlagen von objektorientierter Programmierung und C#.
Ich würde empfehlen, erstmal damit anzufangen, und sich dann im Bereich Web-Entwicklung zu belesen, und DANN überlegen, wie (und ob) man einen Webserver implementiert!

Thema: [Artikel] Debugger: Wie verwende ich den von Visual Studio?
Am im Forum: Artikel

Danke für den Hinweis! Da ist beim Migrieren etwas verloren gegangen. Wir werden uns darum kümmern.

Thema: Popup Style
Am im Forum: GUI: WPF und XAML

Siehe auch ContextMenu Styles and Templates

Thema: YouTube Kanal Deutsch (C#, ASP.NET, uvm.)
Am im Forum: Smalltalk

Zitat von Palladin007
Ich weiß nicht, wie es den Anderen geht

Lernen finde ich immer gut. Und hier handelt es sich um ein kostenloses Angebot.
Ich hab es nur in den Smalltalk-Bereich verschoben, da es keine Buchempfehlung ist.

Thema: MVVM - PropertyChanged von UserControl von anderem UserControl mitbekommen
Am im Forum: GUI: WPF und XAML

War ein bißchen mißverständlich ausgedrückt. Ein UserControl weiß nichts von MVVM oder vom ViewModel. Es kann mit oder ohne ViewModel eingesetzt werden. Deshalb gibt es im UserControl auch einen anderen Mechanismus für die Aktualisierung der Bindings (also DependencyProperties anstatt IPropertyChanged).

Und ein UserControl bekommt auch kein ViewModel als DataContext, sondern es werden Werte (keine ViewModels) an die DependencyProperties gebunden.

Meistens braucht man eh keine UserControls in WPF. Ein Anwendungsfall wäre, wenn es in unterschiedlichen Projekten wiederverwendet werden soll. Und dann muß es auch unabhängig vom verwendeten VM sein. Und bei ReactiveUI werden UserControls als IViewFor<T>eingesetzt, aber das ist hier nicht relevant. Und für alles andere ist ein Template ausreichend.

Thema: MVVM - PropertyChanged von UserControl von anderem UserControl mitbekommen
Am im Forum: GUI: WPF und XAML

Das UserControl ist die View (das "V" in MVVM), und das PropertyChanged-Ereignis gibt es nur im ViewModel (das "VM" in MVVM). Und die View kennt das ViewModel nicht, daher kennt das UserControl auch keine PropertyChanged-Ereignisse!

Das UserControl hat stattdessen DependencyPropertys (bzw. Ereignisse) als öffentliche API. Daran kannst du dann deine ViewModel-Eigenschaften binden, und natürlich auch DependencyPropertys von anderen Controls. Was innerhalb eines UserControls passiert, ist für den Rest der Anwendung völlig irrelevant.

Thema: Punkterotation
Am im Forum: Grafik und Sound

In dieser Zeile verwendest du den bereits geänderten Wert für x anstatt den Original-Wert:


y = (x * Math.Sin(angle * Math.PI / 180)) + (y * Math.Cos(angle * Math.PI / 180));

Thema: MultiDataTrigger-Binding - Null-Value-Exception
Am im Forum: GUI: WPF und XAML

Zitat von GeneVorph
Ich vermute es fehlt ein Nicht-Null-Wert – was auch immer das bedeuten mag.

Ein "Nicht-Null-Wert" ist ein Wert, der nicht null ist. Du kannst dem Template nicht null zuweisen, aber wo genau das auftritt, sollte dir die Fehlermeldung sagen.

Ansonsten scheint es in deinem Code noch mehrere andere Merkwürdigkeiten zu geben. Wo defininierst du z.B. das Template für "ExpanderHeaderCollapsedType", und warum gibst du als TargetNullValue für einen String-Wert ein "true" an?

Thema: Array in Methode auslagern
Am im Forum: Grundlagen von C#

Indem du in der Methode ein Array erstellst, dann mit Werten befüllst, und es zurückgibst:


private string[] CreateArray()
{
    string[] cryptKey = new string[33];
    // ....
    return cryptKey;
}

Und dann kannst du es als Parameter an eine andere Methode übergeben:


var cryptKey = CreateArray();
DoSomething(cryptKey);

Hier gibt es ein paar Links für den Einstieg: [FAQ] Wie finde ich den Einstieg in C#?

Thema: Welche Möglichkeiten habe ich einen Kalender im "Outlook"-Style zu designen?
Am im Forum: GUI: WPF und XAML

Für die Benutzeroberfläche würde ich ein Grid mit SharedSizeGroup in einem ItemsTemplate verwenden. Als Datenmodell hat du eine Auflistung von Wochen verwenden, die eine Auflistung von (jeweils 7) Tagen haben. Die Anzahl der Wochen sollte dabei allerdings nicht statisch sein, weil ein Februar auch hin und wieder mal nur 4 Wochen haben wird.

Diese Listen kannst du dann an das ItemsTemplate binden, und dem Grid das Layout überlassen. Hier gibt es ein Code-Beispiel: Generating grid dynamically in MVVM pattern.

Daß du keine fertige Lösung verwenden willst, heißt ja nicht, daß du nicht auch in Code von anderen Leuten reinschauen kannst, die das schon mal umgesetzt haben. Kalender wurden schon mehrfach umgesetzt, und der Algorithmus und das Datenmodell basieren meistens auf dem gleichen Prinzip.

Du solltest bei deinem Datenmodell dann halt noch beachten, daß sich Termine über mehrere Tage oder sogar Monate erstrecken können.