两种大类:
普通绑定,数据源通过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=”currentFolder” DockPanel.Dock=”Top” Text=”{Binding ElementName=treeView, Path=SelectedItem.Header}” Background=”AliceBlue” FontSize=”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="MyTimeSlider"
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" />
ElementName: 源为一个元素(Element),这里用的是此元素中设置的Name属性。
Source:以object作为源。 < TextBlock Text= "{Binding Source={StaticResource myDataSource},Path=PersonName}" />
RelativeSource: 源 相对于绑定目标的位置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。