C#显示存储在Array中的类变量

时间:2013-11-05 00:04:50

标签: c# arrays class listbox

我会尽可能地将其简化,以尽可能地理解这一点。 我创建了各种类(称为 Person1 Person2 Person3 ) 每个变量都有自己的变量(例如名称年龄 ID )。 我创建了一个名为 PeopleArray 的一维数组,数组中最多包含10个条目,每个数组都包含一个类的实例。

注意:当表单被加载时,条目被放入数组并为每个适当的变量赋值

然后我创建了一个名为 ListOfPeople 的列表框,允许用户从数组中的条目中进行选择。 我想要做的是从适当的类中取一个变量,并在标签中显示它所持有的值。

为此我可以说我在位置[0]的数组中,该条目属于Person1类,我想找到“Name”变量的值。 在标签中显示的代码是什么? “Label.Text =”

注意:我希望代码可以执行的操作是考虑选择哪个条目,以前的示例形式的方法就足够了,我将从那里开始工作。

你可以给予任何帮助很多。谢谢

1 个答案:

答案 0 :(得分:0)

WPF解决方案:

假设viewmodel上的属性:

public List<ListBoxPersonExample> ListBoxItems { get; set; }

public ListBoxPersonExample SelectedPerson
{
    get { return _selectedPerson; }
    set { _selectedPerson = value; RaisePropertyChanged("SelectedPerson");}
}

将班级ListBoxPersonExample定义为:

public class ListBoxPersonExample
{
    public ListBoxPersonExample(string name)
    {
        Name = name;
    }
    public string Name { get; set; }
    public override string ToString()
    {
        return "My name is :" + Name;
    }
}

此XAML将满足您的需求:

<Grid>
     <Grid.ColumnDefinitions>
            <ColumnDefinition></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
     </Grid.ColumnDefinitions>

        <ListBox Name="ListBoxName" ItemsSource="{Binding ListBoxItems}" 
            SelectedItem="{Binding SelectedPerson}"></ListBox>
        <Label Grid.Column="1" Content="{Binding SelectedPerson.Name}"></Label>
 </Grid>