如何将Object类的属性与文本块绑定?

毁灭

活跃的成员
已加入
2020年3月28日
留言内容
36
编程经验
1-3
我的脚本中有两个类,并且可以观察到第二类的集合。



主类中的方法在主类中定义和初始化的可观察集合中添加了Person类类型的几个对象,如下所示:

C#:
 public class PrimaryClass : BaseViewModel
    {
      public ObservableCollection<Person> FamilyPeople { get; set; } 
      public PrimaryClass()
     {
     FamilyPeople = new ObservableCollection<Person>();
    AddPersons();
     }
      public void AddPersons()
        {
        
        FamilyPeople.Add(new Person{name = "Christine", Age = 14});
        FamilyPeople.Add(new Person{name = "Mike", Age = 32});
        FamilyPeople.Add(new Person{name = "Parero", Age = 38});
        
        }
    }
    public class Person
    {
         public String name
        {
            get;
            set;
        }

        public int Age
        {
            get;
            set;

        }
    }

我可以使用以下索引来绑定单个单元,但无法弄清楚如何绑定完整的可观察集合的name属性:

C#:
<Label x:Name="MahadashaPlanet" HorizontalAlignment="Left" Margin="528,105,0,0" VerticalAlignment="Top" Height="46" Width="129" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" FontWeight="Bold" FontSize="14" Content="{Binding Mahadashas[0].rulerName}"/>

我试图通过使用以下绑定将其绑定到文本块来查看可观察集合中存储的所有名称属性,但失败:

C#:
<TextBlock x:Name="ListNames" HorizontalAlignment="Left" TextWrapping="Wrap" VerticalAlignment="Top" Margin="528,151,0,0" Height="413" Width="283" TextAlignment="Center" Text="{Binding Source=FamilyPeople , Path=name}"/>


您能告诉我如何在FamilyPeople中绑定人名吗?
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,499
地点
弗吉尼亚州切萨皮克
编程经验
10+
您不能将多个项目绑定到仅代表一个值的控件中。您可以使用转换器将集合转换为单个字符串。或者,您可以做对的事情是使用一个控件,该控件实际上处理多个项目以将其绑定到集合上,而不是尝试将方形钉强行插入圆孔中。
 

毁灭

活跃的成员
已加入
2020年3月28日
留言内容
36
编程经验
1-3
或者,您可以做对的事情是使用一个控件,该控件实际上处理多个项目以将其绑定到集合上,而不是尝试将方形钉强行插入圆孔中。
所以textBlock无法处理多个项目?我认为可以。我也尝试了列表视图。哪个控件处理多个项目?对不起,我仍在学习使自己熟悉绑定
 
最佳 底部