根據WPF的6.3.3 Binding的路徑(Path)
代碼驗證結果
public class City { public string Name { get; set; } } public class Province { public string Name { get; set; } public List<City> CityList { get; set; } } public class Country { public string Name { get; set; } public List<Province> ProvinceList { get; set; } }
Country country = new Country() { Name = "中國", ProvinceList = new List<Province>() { new Province(){ Name="四川", CityList=new List<City>(){ new City(){Name="攀枝花"} } } } }; //country.ProvinceList[0].Name Binding binding = new Binding("Name"); binding.Source = country; textBox1.SetBinding(TextBox.TextProperty, binding); Binding binding1 = new Binding("ProvinceList/Name"); binding1.Source = country; textBox2.SetBinding(TextBox.TextProperty, binding1); Binding binding2 = new Binding("ProvinceList/CityList/Name"); binding2.Source = country; textBox3.SetBinding(TextBox.TextProperty, binding2);
和書上所說有點區別,暫時不知道爲何如此?
書上寫的是/Name, /ProvinceList.Name和/ProvinceList/CityList.Name