public void VerwijderKaart(Button kaartBttn) { KaartData buttonData = kaartBttn.Tag as KaartData; kaartBttn.IsEnabled = false; kaartBttn.Visibility = Visibility.Hidden; KaartStatus kaartStatus = buttonData.status; kaartStatus.gespeeld = true; }
private List <KaartStatus> GetKaartStatus(List <UIElement> lButtons) { List <KaartStatus> lKaartStatussen = new List <KaartStatus>(); foreach (Button button in lButtons) { KaartData buttonData = button.Tag as KaartData; KaartStatus kaartStatus = buttonData.status; lKaartStatussen.Add(kaartStatus); } return(lKaartStatussen); }
private List <UIElement> GetBttnLijst(List <int> lGridKaartIds) { List <UIElement> lButtons = new List <UIElement>(); // maak een eigen button style voor de kaarten Style bttnStyle = new Style(typeof(Button)); bttnStyle.Setters.Add(new Setter(Button.BackgroundProperty, Brushes.Transparent)); bttnStyle.Setters.Add(new Setter(Button.BorderBrushProperty, Brushes.Transparent)); // laad de bitmap resource voor de achterkant van de kaart ImageSource achterKant = kaartResource.Find(GameData.sKaartAchterkant);; foreach (int kaartId in lGridKaartIds) { // laad de bitmap resource voor de voorkant van de kaart ImageSource voorKant = kaartResource.Find(kaartId.ToString()); // maak de image die als content word gezet in de kaart button Image kaartImg = new Image(); // laat vanuit het begin de achterkant van de kaart zien kaartImg.Source = achterKant; // maak de kaarData informatie die word gebruikt in de game logic // deze word in de tag dataveld geladen zodat die beschikbaar is // vanuit de object sender bij een click event KaartData kaartData = new KaartData(); kaartData.ID = kaartId; // Hiermee vergelijkt de logica de kaarten kaartData.voorKant = voorKant; // resource voor de voorkant van de kaart kaartData.achterKant = achterKant; // resource voor de achterkant van de kaart // maak de button voor de kaart Button kaartBttn = new Button(); kaartBttn.Style = bttnStyle; // onze custom style kaartBttn.Content = kaartImg; // link de kaart image kaartBttn.Tag = kaartData; // link de benodigde kaart data // TODO een eigen cursor kaartBttn.Cursor = Cursors.Hand; // registreer de callback functie voor de click event kaartBttn.Click += new RoutedEventHandler(Card_Click); lButtons.Add(kaartBttn); } return(lButtons); }
public void showKaart(Button kaartBttn, Kaart kaartKant) { Image kaartImg = kaartBttn.Content as Image; KaartData kaartData = kaartBttn.Tag as KaartData; switch (kaartKant) { case Kaart.voorkant: kaartImg.Source = kaartData.voorKant; break; case Kaart.achterkant: kaartImg.Source = kaartData.achterKant; break; } }