-------
Windows Phone 7手机开发、
.Net培训、期待与您交流! -------
ListBox和DataGrid是常用的控件之一,本次主要说说它两和数据绑定banding的那点事:
一、 ListBox的使用:
1.
简单使用
,
其子项为
ListBoxItem
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
<ListBoxItem>3.content</ListBoxItem>
</ListBox>
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/8e0d3459f787a54b573c9d69ec7f0246.jpeg)
2.
给子项赋值
第一种可以通过
DataContent
来指定,第二种使用
ItemSource
来指定其数据源
对于使用第二种
ItemSource:
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
};
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
默认是把每一项的对象
ToString()
显示
,可以设定
DisplayMemberPath
让其显示某个属性
selectedItem
获得的是选中行的对应的对象,如果没有选中行其值就是
null
:
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
selectedValue
获得的是选中行对应的对象的”
SelectedValuePath
标记的属性
”的属性值,如果没有选中行其值就是
null
:
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
代码说明:
前台
XAML
代码:
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
后台
cs
代码:
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
![InBlock.gif](https://s1.51cto.com/images/editer/InBlock.gif)
截图如下:
![](https://i-blog.csdnimg.cn/blog_migrate/e32ac67e36cc440b7ee341e030104082.jpeg)
二、DataGrid
的使用:
指定
ItemSource
来显示数据源;该控件默认自动创建列
,
设置
AutoGenerateColumns
为
false
则不自动生成列;向
Columns
中增加列,常用列类型为
:DataGridTextColumn;Header
设定标题;
Binding
属性为列绑定的属性。
默认情况下
DataGrid
所有列默认是可编辑,如果
Mode=TwoWay
,修改数据后数据源也会变化
;IsReadyOnly=true
,禁止自动创建列
自定义列:
<
DataGrid.Columns
>
代码示例:
代码示例:
<
DataGrid
CanUserAddRows
="False"
Name
="MydataGrid"
AutoGenerateColumns
="False"
HorizontalAlignment
="Left"
Margin
="90,55,0,0"
VerticalAlignment
="Top"
>
< DataGrid.Columns >
< DataGridCheckBoxColumn > </ DataGridCheckBoxColumn >
< DataGridTextColumn Binding ="{Binding Name}" > </ DataGridTextColumn >
< DataGridTextColumn Binding ="{Binding Score}" > </ DataGridTextColumn >
< DataGridTextColumn Binding ="{Binding subject}" > </ DataGridTextColumn >
< DataGridComboBoxColumn x:Name ="cbcData" SelectedValueBinding ="{Binding className}" > </ DataGridComboBoxColumn >
</ DataGrid.Columns >
</ DataGrid >
< DataGrid.Columns >
< DataGridCheckBoxColumn > </ DataGridCheckBoxColumn >
< DataGridTextColumn Binding ="{Binding Name}" > </ DataGridTextColumn >
< DataGridTextColumn Binding ="{Binding Score}" > </ DataGridTextColumn >
< DataGridTextColumn Binding ="{Binding subject}" > </ DataGridTextColumn >
< DataGridComboBoxColumn x:Name ="cbcData" SelectedValueBinding ="{Binding className}" > </ DataGridComboBoxColumn >
</ DataGrid.Columns >
</ DataGrid >
截图:
![](https://i-blog.csdnimg.cn/blog_migrate/39267b75a7b983ec84fd0605cf4ceb5b.png)
转载于:https://blog.51cto.com/charlesxiao/1138967