在 Visual Studio 中将 Silverlight 控件绑定到数据
若要创建数据绑定控件,您可以将项从**“数据源”**窗口拖到 Silverlight Designer。
有关在 Visual Studio 中创建数据绑定控件的一般信息,请参见在 Visual Studio 中将控件绑定到数据。 有关使用 Silverlight 数据绑定的更多信息,请参见数据绑定。
生成的 XAML 和代码
将项从**“数据源”**窗口拖到 Silverlight 设计器时,Visual Studio 将生成定义新数据绑定控件(或将现有控件绑定到数据源)的 XAML。
将项从**“数据源”**窗口拖到设计器时,Visual Studio 将生成可执行以下操作的 XAML:
将新的 CollectionViewSource 添加到可用于导航数据和绑定到数据的页面资源。
如果将项放入网格的空白区域,则会创建一个被数据绑定到该项的新控件。
如果将项放到现有控件上,则会将该控件配置为被数据绑定到该项。
Visual Studio 还将对代码隐藏文件进行以下更改:
创建 Loaded() 事件处理程序,并包括以下帮助器注释。 取消注释代码,并将“Resource Key for CollectionViewSource”替换为生成的 CollectionViewSource 的名称。 同时将“your data”替换为指向自定义业务对象的集合的指针。 有关演示如何修改此注释的示例,请参见演练:将 Silverlight 控件绑定到对象。
// Do not load your data at design time. // if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) // { // //Load your data here and assign the result to the CollectionViewSource. // System.Windows.Data.CollectionViewSource myCollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["Resource Key for CollectionViewSource"]; // myCollectionViewSource.Source = your data // }
'Do not load your data at design time. 'If Not (System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me)) Then ' 'Load your data here and assign the result to the CollectionViewSource. ' Dim myCollectionViewSource As System.Windows.Data.CollectionViewSource = CType(Me.Resources("Resource Key for CollectionViewSource"), System.Windows.Data.CollectionViewSource) ' myCollectionViewSource.Source = your data 'End If
服务
将某个服务对象或属性从**“数据源”**窗口拖到设计器中时,Visual Studio 将生成创建数据绑定控件(或将现有控件绑定到该对象或属性)的 XAML。 但是,Visual Studio 不会生成用数据填充代理服务对象的代码。 您必须自己编写此代码。 有关演示如何执行此操作的示例,请参见演练:将 Silverlight 控件绑定到 WCF 数据服务。
对象
将某个对象或属性从**“数据源”**窗口拖到设计器中时,Visual Studio 将生成创建数据绑定控件(或将现有控件绑定到该对象或属性)的 XAML。 但是,Visual Studio 不会生成用数据填充对象的代码。 您必须自己编写此代码。有关演示如何执行此操作的示例,请参见演练:将 Silverlight 控件绑定到对象。
相关主题
下表列出了一些主题,这些主题演示如何通过从**“数据绑定”**窗口拖动项在 Silverlight 应用程序中创建数据绑定控件。
任务 |
更多信息 |
---|---|
创建绑定到服务所返回数据的控件。 |
|
创建绑定到对象中的数据的控件。 |