一步一步学Silverlight 2系列11文档格式.docx
- 文档编号:21038140
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:10
- 大小:132.95KB
一步一步学Silverlight 2系列11文档格式.docx
《一步一步学Silverlight 2系列11文档格式.docx》由会员分享,可在线阅读,更多相关《一步一步学Silverlight 2系列11文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
在本示例中我们将做一个简单的数据绑定,用来显示用户信息,XAML如下:
<
Gridx:
Name="
LayoutRoot"
Background="
#46461F"
>
<
Grid.RowDefinitions>
RowDefinitionHeight="
160"
/RowDefinition>
40"
/Grid.RowDefinitions>
Grid.ColumnDefinitions>
ColumnDefinitionWidth="
150"
/ColumnDefinition>
*"
/Grid.ColumnDefinitions>
ImageSource="
terrylee.jpg"
Width="
78"
Height="
100"
HorizontalAlignment="
Left"
Grid.Row="
0"
Grid.Column="
1"
/>
TextBlockForeground="
White"
FontSize="
18"
Text="
姓名:
"
Right"
TextBlockx:
lblName"
Foreground="
位置:
2"
lblAddress"
/Grid>
添加一个简单User类,它具有Name和Address两个属性:
publicclassUser
{
publicstringName{get;
set;
}
publicstringAddress{get;
}
使用绑定句法{BindingProperty}进行数据绑定,注意下面的两个TextBlock控件Text属性:
{BindingName}"
{BindingAddress}"
指定数据源,注意这里是创建一个User的实例并赋值后,把user实例绑定到了TextBlock的DataContext上,而不是向之前我们所做的示例中那样,直接指定Text属性:
privatevoidUserControl_Loaded(objectsender,RoutedEventArgse)
Useruser=newUser();
user.Name="
TerryLee"
;
user.Address="
中国天津"
lblName.DataContext=user;
lblAddress.DataContext=user;
运行示例后,可以看到:
上面这种数据绑定模式,只是显示数据而不对数据做任何修改,默认的绑定模式是一次绑定OneTime。
单向绑定示例
如果需要在数据源发生变化时能够通知UI进行相应的更新,即使用单向绑定OneWay或者双向绑定TwoWay,则业务实体需要实现接口INotifyPropertyChanged。
在本示例中,我们加上一个更新按钮,当单击按钮时更新user实例的属性值,会看到界面上的数据也会发生变化。
修改一下User类,使其实现INotifyPropertyChanged接口。
publicclassUser:
INotifyPropertyChanged
publiceventPropertyChangedEventHandlerPropertyChanged;
privatestring_name;
publicstringName
{
get{return_name;
set
_name=value;
if(PropertyChanged!
=null)
PropertyChanged(this,newPropertyChangedEventArgs("
Name"
));
privatestring_address;
publicstringAddress
get{return_address;
_address=value;
if(PropertyChanged!
Address"
修改数据绑定模式,使用单向绑定OneWay模式,如{BindingAddress,Mode=OneWay}
Buttonx:
btnUpdate"
Content="
Update"
Click="
btnUpdate_Click"
{BindingName,Mode=OneWay}"
{BindingAddress,Mode=OneWay}"
编写事件处理程序,为了演示把user声明为一个全局的,并在按钮的单击事件中修改其属性值:
publicpartialclassPage:
UserControl
publicPage()
InitializeComponent();
Useruser;
privatevoidUserControl_Loaded(objectsender,RoutedEventArgse)
user=newUser();
privatevoidbtnUpdate_Click(objectsender,RoutedEventArgse)
李会军"
ChinaTianjin"
运行后如下所示:
单击Update按钮后:
绑定到列表
下面再看一个绑定到列表的简单例子,一般都会使用DataGrid或者ListBox来进行列表数据的显示。
下面的示例我们显示一个文章列表:
GridBackground="
ColumnDefinition>
BorderGrid.Row="
CornerRadius="
15"
240"
36"
Orange"
Margin="
20000"
TextBlockText="
文章列表"
VerticalAlignment="
Center"
/TextBlock>
/Border>
ListBoxx:
PostList"
40101010"
HorizontalContentAlignment="
VerticalContentAlignment="
Bottom"
ItemsSource="
{BindingPosts}"
/ListBox>
编写一个简单的业务类:
publicclassBlog
publicList<
String>
Posts{get;
初始化集合数据并进行绑定
Blogblog=newBlog();
blog.Posts=newList<
"
一步一步学Silverlight2系列(10):
使用用户控件"
一步一步学Silverlight2系列(9):
使用控件模板"
一步一步学Silverlight2系列(8):
使用样式封装控件观感"
一步一步学Silverlight2系列(7):
全屏模式支持"
};
PostList.DataContext=blog;
最终运行的结果如下所示:
当然我们也可以使用ListBox的ItemsSource属性进行绑定,
结束语
本文简单介绍了Silverlight2中的数据绑定,你可以从这里下载文章示例代码。
下一篇:
一步一步学Silverlight2系列(12):
数据与通信之WebClient
作者:
TerryLee
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Tag标签:
Silverlight
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一步一步学Silverlight 2系列11 一步一步 Silverlight 系列 11