【发布时间】:2018-03-30 21:03:06
【问题描述】:
我有一个班级敌人
public class Enemy : Entity
{
private int _BaseAddress;
private int _BaseOffset;
private int _HealthOffset;
private int _AmmoOffset;
private int _X_Coord_Offset;
private int _Y_Coord_Offset;
private int _Z_Coord_Offset;
public Enemy(int BaseAddress, int BaseOffset, int HealthOffset, int AmmmoOffset, int X_Coord_Offset, int Y_Coord_Offset, int Z_Coord_Offset)
{
_BaseAddress = BaseAddress;
_BaseOffset = BaseOffset;
_HealthOffset = HealthOffset;
_AmmoOffset = AmmmoOffset;
_X_Coord_Offset = X_Coord_Offset;
_Y_Coord_Offset = Y_Coord_Offset;
_Z_Coord_Offset = Z_Coord_Offset;
}
public int BaseAddress
{
get
{
int temp = BitConverter.ToInt32(ReadMemory(_BaseAddress, sizeof(int)), 0);
return BitConverter.ToInt32(ReadMemory(temp + _BaseOffset, sizeof(int)), 0);
}
}
public int Health
{
get
{
return BitConverter.ToInt32(ReadMemory(BaseAddress + _HealthOffset, sizeof(int)), 0);
}
}
public int Ammo
{
get
{
return BitConverter.ToInt32(ReadMemory(BaseAddress + _AmmoOffset, sizeof(int)), 0);
}
}
public float X_Coordinate
{
get
{
return BitConverter.ToSingle(ReadMemory(BaseAddress + _X_Coord_Offset, sizeof(float)), 0);
}
}
public float Y_Coordinate
{
get
{
return BitConverter.ToSingle(ReadMemory(BaseAddress + _Y_Coord_Offset, sizeof(float)), 0);
}
}
public float Z_Coordinate
{
get
{
return BitConverter.ToSingle(ReadMemory(BaseAddress + _Z_Coord_Offset, sizeof(float)), 0);
}
}
//I know this has no value
public string name;
}
我有一个敌人列表
List<Enemy> list = new List<Enemy>();
我有一个列表框
<ListBox Grid.Column="1" Grid.Row="1" Name="lstBEnemies" Margin="20"/>
我有一些标签。我希望为列表中的每个敌人对象创建一个 listboxitem 并且内容是字符串名称。此外,当我选择一个列表框项时,我希望它通过标签向我显示所选敌人对象的所有信息。
我已经设法将列表中的每个项目添加到列表框中
for (int i = 0; i < EnemyList.Count; i++)
{
lstBEnemies.Items.Add(EnemyList[i]);
}
我还创建了一个计时器,每 5 毫秒更新一次标签上的信息。 我的问题是,我该怎么做才能通过标签显示当前选定项目的敌人对象的信息?
编辑: 这就是我更新标签的方式
private void DpTimerTick_GetEnemyAmmo(object sender, EventArgs e)
{
lbEnemyAmmoInfo.Content = EnemyList[0].Ammo;
}
【问题讨论】:
-
从这里开始阅读:Data Templating Overview
标签: c# wpf binding listbox label