Laden...

Forenbeiträge von Chefspatz Ingesamt 8 Beiträge

25.06.2022 - 00:15 Uhr

Ok, ich habe mir das durchgelesen und auch noch viel gegoogelt und einiges über MVVM erfahren. Das ist wohl eine Möglichkeit, den Code lesbarer und sauberer zu schreiben - ich würde das Prinzip auch einsetzen, wenn ich das Binding über Pages hinaus verstehen würde. Ich würde gerne zunächst einmal zwei Elemente, z.B. eine Textbox und einen Textblock auf zwei verschiedenen Seiten binden. Dass ich also auf einer Seite etwas am Textinhalt ändere und die andere Box sich auch ändert.

Wenn ich das aber so mache, funktioniert es nicht:

Page 1:


<TextBox Name="TextBox1" Text="?" Height="100" Width="600" BorderBrush="#FF0C0000" TextAlignment="Center" FontSize="20" TextWrapping="Wrap"  AcceptsReturn="True"  VerticalScrollBarVisibility="Visible" />

Page 2:


<TextBlock  Name="textblock1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" Text="{Binding ElementName=QuestTextBox, Path=Text}"  />

Ich denke mal, dass das Programm auf Seite 2 nicht die Elemente von Seite 1 kennt. Daher dachte ich mir schon, dass man irgendwo angeben müsste. Aber ich finde nichts daz im Netz.

Sollte ich lieber die ganze Sache aufgeben, weil es zu schwer für mich und eher etwas für Fortgeschrittene Programmierer ist? Das Binding auf einer Seite ist so einfach zu verstehen, dass ich nicht dachte, dass das Binding zwischen Seiten so schwer sein könnte. Ich verstehe irgendwie die ganze Logik daginter nicht.

24.06.2022 - 14:51 Uhr

Nein, ich glaube am Binding hapert es. Ich werde mir den Link mal anschauen und mich wieder melden.

24.06.2022 - 13:04 Uhr

Ich möchte ein kleines Spiel schreiben, wo man bestimmte Elemente anklicken und warten muss. Also der Spieler klickt einen Button an und muss 50 Sekunden warten, in der Zeit kann er dann auf eine andere Page gehen und da vielleicht auch einen Button drücken, der wieder X Sekunden braucht, ehe etwas passiert.

24.06.2022 - 12:54 Uhr

Hallo, ich habe folgende Frage:

Ich habe ein WPF mit mehreren Pages erstellt. Wenn ich nun einen Timer auf Page1 starte (ich habe einfach einen Button drauf platziert, der einen DispatcherTimer startet) und zu Page2 wechsel, dann stoppt der Timer von Page1. Wie kann ich es erreichen, dass Prozesse einer Page weiterlaufen, auch wenn ich die aktuelle Page wechsel?

01.03.2022 - 12:32 Uhr

Alles klar, durch die Abfrage funktioniert es nun. Danke für die Hilfe. 🙂

01.03.2022 - 11:41 Uhr

Alles klar. Also, wenn folgenden Code schreibe:


public class Sum : INotifyPropertyChanged
    {
        
        public event PropertyChangedEventHandler? PropertyChanged;

        
        private void OnPropertyChanged(string property)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }

PropertyChanged wird grün unterkringelt: "Dereferenzierung eines möglichen Nullverweises."

Was muss ich ändern, um den Fehler zu beheben? Oder wie schalte ich dieses Feature aus, um erstmal ohne weiterzukommen? Wenn ich Variablen erstelle, werden sie auch grün unterkringelt. Wenn ich den Variablentyp dann mit einem Fragezeichen versehe, verschwindet zwar die Fehlermeldung, aber das Programm wird dennoch nicht ausgeführt.

Ich komme damit echt nicht klar. 🙁 Das gerade fühlt sich so ernüchternd an, weil ich es einfach gar nicht verstehe und nicht mal richtig erklären kann, was ich nicht verstehe. Es funktioniert einfach nicht.

28.02.2022 - 21:50 Uhr

Boah, danke für die schnellen Antworten! Ich hatte meinen Code schließlich in die Ecke gefeuert, weil mich das Fragezeichen aus der Bahn geworfen hat, daher kann ich ihn euch nicht zeigen. Aber ich probiere es nochmal mit dem neuen Wissen aus und wenn es dann nicht klappt, kopiere ich ihn hier rein. Und ja, der Kurs ist vermutlich etwas älter, denn er arbeitet noch mit VS2019. Aber bisher waren die Unterschiede entweder marginal oder von mir lösbar, das war jetzt das erste Problem, das mich ganz und gar überfordert hat.

28.02.2022 - 21:22 Uhr

Hallo, ich bin neu in diesem Forum. Eins vorweg, ich bin Anfänger, also sorry für die vermutlich blöde Frage.

Wenn ich versuche eine Schnittstelle für INotifyPropertyChanged zu implemtentieren, dann schreibt das System immer "PropertyChangedEventHandler?", also mit einem Fragezeichen dahinter. Ich habe schon nachgeschlagen, das bedeutet wohl, dass auch Nullable übergeben werden können. Aber in meinem Lehrgang wird dieses Fragezeichen nicht erwähnt und wenn ich versuche einfach das Programm mit dem Fragezeichen hinter PropertyChangedEventHandler zu schreiben, gibt es überall Fehlermeldungen.

Also, was mache ich falsch? Ich finde auch nirgends im Netz einen Hinweis. Alle erstellen die Schnittstelle, ohne dass dieses Fragezeichen dahinter steht. Ich komme da echt nicht weiter.

Danke für die Hilfe.