Laden...
Th69
myCSharp.de - Experte
12
Themen
5.051
Beiträge
Dabei seit
01.04.2008
Beruf
Software-Entwickler
Erstellt vor 15 Stunden

Möchtest du eigentlich Base255 oder Base256 als Eingangsdaten?

PS: WW (als Base23) entspricht dezimal 22*23+22 = 528. Und das entspricht weder [2,11] in Base255 (= 521) noch in Base256 (= 523).

Edit:
Und auch dein bisheriger Umrechnungscode erscheint mir fehlerhaft (bes. die while-Schleife sowie das nirgendwo gesetzte carry!?). Schau mal in Horner-Schema: Umwandlung zwischen verschiedenen Zahlensystemen.

Erstellt vor 2 Tagen

Hallo und willkommen,

ist das eines deiner ersten Projekte mit WPF? Und kennst bzw. verwendest du schon MVVM (s. [Artikel] MVVM und DataBinding)?

Ein gutes Beispiel mit MVVM für die Navigation zwischen verschiedenen Seiten ist Navigation mit WPF und MVVM. Als MVVM-Framework verwendet es MvvmLight Framework, aber du kannst auch ein anderes, wie das bekannte MVVM-Toolkit (als Teil des  .NET Community Toolkit) verwenden, s.a. Einführung in das MVVM-Toolkit (teilweise heißen die Klassen und Methoden dann dort anders).

Und bzgl.

Ich hab es mit einem Frame probiert, aber dann konnte ich meine Buttons nicht mehr betätigen.

Dazu solltest du uns den betreffenden Code zeigen.

Erstellt vor 5 Tagen

Hallo und willkommen,

du solltest dazu geschrieben haben, daß es sich um C#-Code für Unity handelt.

Was mir auffällt:
Es wird bisher nirgendwo NextLevel() aufgerufen. Du mußt in der Update-Methode, genauso wie für die bisherige Button-Abfrage, den Button für "NextLevel" abfragen.

Ich bin jedoch kein Unity-Experte und weiß z.B. nicht, was genau gameObject dort bedeutet.

PS: Üblicherweise setzt man bei solchen Projekten endliche Zustandsautomaten (finite state machines) ein. Als Beispiel für Unity habe ich Simple Finite State Machine for Unity (C#) gefunden.

Erstellt vor 22 Tagen

Und wenn die übergebenen Parameter xPos/ yPos die relative Position angeben sollen, dann noch die Werte dazuaddieren:

f3.Location = new Point(rect.X + xPos, rect.Y + yPos);
Erstellt vor einem Monat

Schau dir die Fehlermeldungen an (und vom Visual Studio aus kannst du mit F1 direkt die Dokumentation im Browser aufrufen oder benutze [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)).

In C# müssen alle Methoden innerhalb einer Klasse (oder Struktur) liegen, es gibt keine freien Funktionen (wie z.B. in C oder C++).

Erstellt vor einem Monat

Hallo,

mittels Main main = new Main()erstellt du eine neue (aber unsichtbare) Form-Klasse und beschreibst dessen TextBox. Du benötigst entweder eine Referenz auf die existierende Form oder aber noch besser, du verwendest ein Ereignis dafür: [FAQ] Eigenen Event definieren / Information zu Events (Ereignis/Ereignisse)

Ich habe hierfür auch extra einen Artikel geschrieben: Kommunikation von 2 Forms (gilt auch für Form-Klasse-Kommunikation)

Erstellt vor einem Monat

Wie Abt geschrieben hat, verwende ein Event dafür, s. [FAQ] Eigenen Event definieren / Information zu Events (Ereignis/Ereignisse).

Und da der Aufruf aus einem Thread erfolgt, mußt du UI-Ausgaben synchronisieren: [FAQ] Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke)

Du solltest, statt mit Threads zu arbeiten, dich auch mal über asynchrone Programmierung informieren: Task, await/ async.

Erstellt vor einem Monat

Du solltest auch in HighlightTextBlock auf die Daten zugreifen und nicht auf die UI-Komponenten, also den Text aus der ItemsSource(bzw. DataSource) auslesen bzw. als Parameter übergeben.

Du solltest datenorientiert vorgehen, daher auch mein Vorschlag bzgl. UI-unabhängiger Highlighter-Klasse.

Erstellt vor einem Monat

Der Umbau der Highlighter-Klasse ist nur ein Vorschlag von mir, wie ich es selber machen würde.

Du solltest den Code unterhalb von grid.LoadingRow += GridOnLoadingRow;

// Get DataGridRows
...

entfernen und entsprechend HighlightRow(e.Row) in die Ereignismethode GridOnLoadingRow packen, damit sich auch die Inlines-Texte aktualisieren.

PS: Du fügst bisher jedesmal mit grid.LoadingRow += GridOnLoadingRow;die Ereignismethode dem Ereignis hinzu (so daß er je Aufruf immer mehrfach ausgeführt wird) - dies sollte nur einmalig passieren!

Erstellt vor einem Monat

Dein Highlighter funktioniert aber doch bisher auch nur für das DataGrid, da es explizit DataGridRow benutzt (welches bei TreeView nicht existiert).

Das Auslagern in ein ViewModel soll einfach dafür sorgen, daß die Logik eben UI-unabhängig ist. Du kannst die Funktionalität ja trotzdem in eine eigene Highlighter-Klasse auslagern, welche dann von den ViewModels benutzt wird.

Und diese Highlighter-Klasse sollte eben nur auf den Daten (Collection) operieren und ebenfalls nur Daten zurückliefern, welche dann von einem entsprechenden Control/Data-Template in UI-Komponenten aufgelöst wird, s. z.B. WPF ItemsControl Fundamentals - Part 1 (das Beispiel weiter unten mit dem CityViewModel und den Orten mit Flaggen).

Da TextBlock.Inlines jedoch kein DependencyObject ist, kann daran nicht gebunden werden. Evtl. hilft dir aber die Antwort bzgl. TextBlockExtensions aus Data binding the TextBlock.Inlines?

10 von 5.050 Beiträgen