1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| using System;
using System.ComponentModel;
using System.Collections.ObjectModel;
namespace WpfSoldatRoles
{
public class ItemBase:INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(string propName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
}
}
// Un class "armé" de pied en cap
public class ItemArme:ItemBase
{
private bool available;
public bool Available
{
get { return available; }
set { available = value; RaisePropertyChanged("Available"); }
}
private TypeArme typearme;
public TypeArme TypeArme
{
get { return typearme; }
set { typearme = value; RaisePropertyChanged("TypeArme"); }
}
public ItemArme ()
{}
public ItemArme(bool available,TypeArme typearme):this()
{
this.Available = available; this.TypeArme = typearme;
}
}
// un class soldat
public class Item:ItemBase
{
private string name;
public string Name
{
get { return name; }
set { name = value; RaisePropertyChanged("Name"); }
}
private ObservableCollection <ItemArme> listArmes;
public ObservableCollection <ItemArme> ListArmes
{
get { return listArmes; }
set { listArmes = value; RaisePropertyChanged("ListArmes"); }
}
public Item()
{
ListArmes = new ObservableCollection<ItemArme>() {
new ItemArme (false,TypeArme.Bazooka) ,
new ItemArme (false,TypeArme.FM),
new ItemArme (false,TypeArme.Grenade),
new ItemArme (false,TypeArme.Pistolet)
};
}
}
public class Items : ObservableCollection<Item>
{
public Items()
{
this.Add(new Item() { Name = "item1" });
this.Add(new Item() { Name = "item2" });
this.Add(new Item() { Name = "item3"});
}
}
} |
Partager