Er der nogen der kan forklare mig hvordan man opdatere ens GUI. Skal der en event til hver gang? Hvis ja hvad skal man så gøre hvis man ikke har nogen event. Men man bare vil kalde en metode til at gøre det? Kan man kalde Window_Loaded(object sender, RoutedEventArgs e) til at opdatere sin skærm. Igen her hvad gør man hvis man ikke har nogen event.
Har det problem at når jeg er i en anden klasse end den hvor gui delen er, så kan jeg ikke få lov til at opdatere min skærm. Vil gerne kunne kalde min ene metode og så skulle den gerne opdatere min skærm.
using System; using System.IO; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes;
namespace Testannimation { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1 : Window { private String player = "xSpiller"; private Boolean gameOver; MoveAndCheckForWinner move = MoveAndCheckForWinner.getInstance(); private Button[] buttons; private static Window1 instance = null;
public Window1() { InitializeComponent(); buttons = new Button[9] { cell0, cell1, cell2, cell3, cell4, cell5, cell6, cell7, cell8 }; }
default: break; } } } } ... Der er noget mere kode men det er bare clicklisteners til knapperne. Her er klassen som kalder metoden i min gui klasse. Hensigten er at når setMoves er kaldt så skulle den opdatere gui'en
using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Testannimation { class DeserializeFromFile { private String position; private Window1 window = Window1.getInstance(); private MoveAndCheckForWinner move = MoveAndCheckForWinner.getInstance(); int i; int j; public DeserializeFromFile() {
SerializeData data = new SerializeData(); try {
Stream stream = File.Open("SavedGame.osl", FileMode.Open); BinaryFormatter binary = new BinaryFormatter();
f.eks. min resetGame metode virker fint. Synes derfor det er underligt at den anden metode ikke virker. Men der behøver ikke blive sendt en event for at opdatere skærmen?
Ville jeg bestemt ikke mene hvis det er de rigtige referencer du piller ved ... og ikke nogen nye du får oprettet ... og så på den måde retter i det forkerte.
// ouT
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.