您好,登錄后才能下訂單哦!
集合對象的數(shù)據(jù)綁定
在集合對象的數(shù)據(jù)綁定中,
(1) 綁定源可以是任意實現(xiàn)了枚舉接口的集合類對象
(2) 而綁定目標(biāo)一般是ItemControl類型的UI元素。
在目前的Windows Phone7中,受支持的ItemControl控件只有一個ListBox。
當(dāng)然,也可以直接使用ItemControl控件也是可以的。
1、 顯示單列數(shù)據(jù)
原理:ItemControl的兩個屬性
ItemsSource |
指示綁定源,提供要顯示的集合數(shù)據(jù),為一個可枚舉對象。注意:其綁定結(jié)果會受當(dāng)前數(shù)據(jù)上下文有關(guān)(即上級元素的DataContext屬性)。 |
DisplayMemberPath |
指示要綁定的屬性名稱或路徑。默認為空字符串,對應(yīng)綁定源中元素的ToString()值。 |
(1) 附帶Employee.cs代碼
public class Employee { public int Number { get; set; } public String Name { get; set; } public String Age { get; set; } public int BirthYear { get; set; } } |
(2) 附帶Department.cs代碼
public class Department:Employee { public String DepName { get; set; }//部門名稱 public ObservableCollection<Employee> employees { get; set; }//員工列表 } |
(3) 在C#代碼中創(chuàng)建一個部門列表
public MainPage() { InitializeComponent(); ObservableCollection<Department> departments = new ObservableCollection<Department> { new Department{DepName="技術(shù)部"}, new Department{DepName="商務(wù)部"} }; lbDepartment.ItemsSource = departments; } |
(4) XAML代碼中
<ListBox Height="257" Name="listBox1" VerticalAlignment="Top"> <ItemsControl Name="lbDepartment" DisplayMemberPath="DepName" ></ItemsControl> </ListBox> |
實現(xiàn)效果就是
2、 使用自定義數(shù)據(jù)模板定制樣式
簡單的單列數(shù)據(jù)綁定顯然無法滿足正常的開發(fā)需求。
(1) XAML代碼:
<StackPanel Height="50" HorizontalAlignment="Center" Name="stackPanel1" Width="480" VerticalAlignment="Top" Orientation="Horizontal"> <ListBox.ItemTemplate> <StackPanel > <TextBlock Text="{Binding Number}" /> <TextBlock Text="{Binding Name}" /> <TextBlock Text="{Binding Age}" /> <TextBlock Text="{Binding BirthYear}" /> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> |
(2) XAML代碼
public ZiDingYi() { InitializeComponent(); ObservableCollection<Employee> employees=new ObservableCollection<Employee> { new Employee{Number=2000,Name="張三",Age=10}, new Employee{Number=2001,Name="李四",Age=11}, new Employee{Number=2002,Name="yz",Age=12} }; listEmployees.DataContext = employees; } |
效果圖:
注意:此處使用模板的方式是直接嵌套在ListBox中,但在很多情況下為了方便復(fù)用通常會將數(shù)據(jù)模板保存在資源字典中,然后通過ListBox的ItemTemplate屬性引用。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。