标签:des style blog http color io os 使用 ar
<StackPanel DataContext="{X:Static SystemFonts.IconFontFamily}"> <TextBox Margin="5" Text="{Binding Path=Source}"> </TextBox> </StackPanel>
<TextBlock Margin="3" Name="lblSampleText" FontSize="{Binding ElementName=sliderFontSize,Path=Value Mode="TwoWay"}" Text="{Binding ElementName=txtContent,Path=Text}" Foreground="{Binding ElementName=lstColors,Path=SelectedItem.Tag}" ></TextBlock>
也可是使用代码创建绑定:
Binding binding = new Binding(); binding.Source = sliderFonSize; binging.path=new PropertPath("Value") binding.Mode=BindignMode.TwoWay; txt.SetBinding(TextBlock.FontSize,binding)
BindingMode的枚举值有:
从目标到绑定源端数据更新时(binding mode为twoway或者onewaytosource),更新行为(什么时机更新)由Binding.UpdateSourceTrigger枚举属性控制,UpdateSourceTrigger的值有:
PropertyChanged:目标属性发生变化时立即更新
LostFocus:目标属性发生变化并且目标丢失焦点时更新源
Explicit:除非调用BindingExpression.UpdateSource()方法,否则无法更新
Default:根据目标属性的元数据(FrameworkPropertMetadata.DefaulUpdateSourceTrigger)确定更新行为,大多数属性默认行为是PropertyChanged
MultiBinding:将多个对象绑定到一个控件,主要要使用StringFormat
<ListBox ItemsSource="{StaticResource MyData}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} -- Now only {1:C}!">
<Binding Path="Description"/> <Binding Path="Price"/> </MultiBinding>
</TextBlock.Text>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
ObjectDataProvider:从另一个类中获取信息,只用于数据查询,IsAsynchronous=true,可以使ObjectDataProvider在后台执行,这样即使发生异常不会影响绑定控件的显示:<ObjectDataProvider x:Key="productsProvider" ObjectType="{x:Type local:StoreDB}" MethodName="GetProducts"></ObjectDataProvider>
WPF中派生自ItemsControl的类都能显示列表,能够支持集合数据绑定的元素包括ListBox,ComboBox,ListView和DataGrid,Menu,Treeview,ItemsControl中有三个重要属性:
<Grid DataContext="{Binding ElementName=lstProducts,Path=SelectedItem}">....</Grid>
<TextBlock Text="{Binding source={StaticResource ResourceKye=mystring},Path=.}">
标签:des style blog http color io os 使用 ar
原文地址:http://www.cnblogs.com/phenixyu/p/3967317.html