silverlight   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了silverlight绑定总结大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

两种大类: 普通绑定,数据源通过datacontext指定。并且会对上级控件搜索数据源 datagrid等list类型绑定,数据源通过itemsource指定。 常见的使用Binding的代码: C# Binding binding = new Binding(); // Set source object binding.source = treeView; // Set source p

两种大类:

普通绑定,数据源通过datacontext指定。并且会对上级控件搜索数据源

datagrid等list类型绑定,数据源通过itemsource指定。

常见的使用Binding的代码
C#

Binding binding = new Binding();
// Set source object
binding.source = treeView;
// Set source property
binding.Path = new PropertyPath("SELEctedItem.Header");
// Attach to target property
currentFolder.SetBinding(TextBlock.TextProperty,binding);

XAML:

<TextBlock x:Name=”currentFolderDockPanel.Dock=”TopText=”{Binding ElementName=treeView, Path=SELEctedItem.Header}BACkground=”AliceBlueFontSize=16/>

 

(1)普通文本等绑定:

<TextBox x:Name="txtProductName"  Grid.column="1" Margin="25,35,43,58" textwrapping="Wrap" 

Text="{Binding ProductNamE}"/>

代码

Product product = new Product()
                    {
                         ProductName="Audi",
                         ProductPrice=50000.0
                    };
txtProductName.DataContext = product;

 

(2)绑定的延生属性特点:

   //  声明 public static IList<Graphic> features撤退路线;Grphic实际是一个表的行,有多个featrue.Attributes["NAME"]                  

                        tip.canvas.DataContext =MapClient.FeatureClass.features防汛人员[0];

<sdk:Label  Content="{Binding Attributes[NAME]}" RenderTransformOrigin="0.128,0.381" Foreground="#FFFF2900" Margin="68,11,3,0"/>

 

(3) 控件元素绑定:绑定的实质是对类的操作。所以对于控件的属性,也可以绑定

//通过 ELEMENTNAME指定控件名

//通过Path指定控件的具体属性

 <esri:TimeSlider x:Name="@R_241_6674@Slider" 

                        Loop="True" PlaySpeed="0:0:0.15"

                        TimeMode="TimeExtent"                 

                        MinimumValue="{Binding ElementName=Mymap,Path=Layers[MyHurricaneFeatureLayer].TimeExtent.Start,Mode=OneWay}"

                        MaximumValue="{Binding ElementName=Mymap,Path=Layers[MyHurricaneFeatureLayer].TimeExtent.End,Mode=OneWay}"                                

                        Value="2000/08/04 01:00:00 UTC,2000/08/07 01:00:00 UTC"

                        Height="20" />

(4)gridview 等list绑定:
            grid2.CTLXDataGrid.Itemssource =FeatureClass.features防汛人员;
            <localGrid:AutoFillDataGrid  x:Name="DataGrid1" AutoGeneratecolumns="false" HeadersVisibility="All" BACkground="White" >
                <localGrid:AutoFillDataGrid.columns>
                     <data:DataGridTextcolumn Binding="{Binding Attributes[路线名称]}" Header="路线名称" />
                    <data:DataGridTextcolumn Binding="{Binding Attributes[转移时间]}" Header="转移时间" />
                    <data:DataGridTextcolumn Binding="{Binding Attributes[长度路线]}" Header="路线长度(公里)"/>
ata:DataGridTextcolumn Binding="{Binding Attributes[撤退目标安全转移区]}" Header="撤退目标安全转移区"/>
                </localGrid:AutoFillDataGrid.columns>
                </localGrid:AutoFillDataGrid.columns>
            </localGrid:AutoFillDataGrid>
注:Text=”{Binding 路线名称}” 等效于 Text=”{Binding Path=路线名称}”。
 (5)数据源的分类
有三个属性用来设置源:ElementName(String)、source(Object) 和 Relativesource(RelativesourcE)注:这三个只能指定一个,否则异常。
ElementName: 源为一个元素(Element),这里用的是此元素中设置的Name属性
source:以object作为源。 < TextBlock  Text= "{Binding source={Staticresource myDatasourcE},Path=PersonNamE}" />
Relativesource: 源 相对于绑定目标的位置。
(6)绑定模式:

Binding.Mode 指示源和目标间数据流的方向。

OneWay 源更新时,目标也更新
TwoWay 源更新时目标也更新,或者目标更新时同时更新源
OneTime 仅当应用程序启动时或 DataContext 进行更改时更新目标属性。绑一次就不更维护更新,目标相当于源的一次性镜像
OneWayTosource 目标更新时更新源,和OneWay相反

大部分WPF自带的控件的dependency property认的是OneWay,像TextBox.Text认的是TwoWay。值得注意的事,只读属性只能设置成OneWay,不能是TwoWay,否则运行时异常。

大佬总结

以上是大佬教程为你收集整理的silverlight绑定总结全部内容,希望文章能够帮你解决silverlight绑定总结所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。