WPF之Binding基础四 使用DataContext作为Binding的源
2013-06-16 22:36
323 查看
在WPF里面,FrameworkElement是WPF控件的基类,而DataContext属性就被定义在这个类里面,所以说所有的WPF控件都有这个属性。WPF的UI是树状的,每个节点都是控件,所以每个节点都有DataContext属性。如果一个Binding找不到自己的Source那他就会沿着这个UI树一直往上找,直到找到和Path对应的那个属性,如果到最外层也没找到,那就没有数据源。
XMAL代码
<Window x:Class="使用DataContext作为Binding的源.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:使用DataContext作为Binding的源"
Title="MainWindow" Height="350" Width="525">
<StackPanel Background="LightBlue">
<StackPanel.DataContext>
<local:User Name="lj"/>
</StackPanel.DataContext>
<Grid>
<StackPanel>
<TextBox Text="{Binding Path=Name}" Margin="5"/>
</StackPanel>
</Grid>
</StackPanel>
</Window>
User类
class User
{
public string Name
{
get; set;
}
}
XMAL代码
<Window x:Class="使用DataContext作为Binding的源.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:使用DataContext作为Binding的源"
Title="MainWindow" Height="350" Width="525">
<StackPanel Background="LightBlue">
<StackPanel.DataContext>
<local:User Name="lj"/>
</StackPanel.DataContext>
<Grid>
<StackPanel>
<TextBox Text="{Binding Path=Name}" Margin="5"/>
</StackPanel>
</Grid>
</StackPanel>
</Window>
User类
class User
{
public string Name
{
get; set;
}
}
相关文章推荐
- WPF之Binding基础四 使用DataContext作为Binding的源
- WPF之Binding基础十 使用RelativeSource作为Binding的源
- WPF之Binding基础七 使用XML数据作为Binding的源
- WPF之Binding基础九 使用ObjectDataProvider作为Binding的源
- WPF之Binding基础八 使用Linq数据作为Binding的源
- WPF中的binding(三)- 使用DataContext作为Binding的数据源
- WPF之Binding基础五 使用集合对象作为列表控件的ItemSource
- WPF 使用DataContext 作为 Binding的源
- WPF之Binding基础六 使用ADO.NET作为Binding的数据源
- WPF之Binding基础二 控件作为Binding的数据源
- WPF - 使用XML作为datagrid数据源进行binding
- WPF中的binding(八)- 使用ObjectDataProvider对象作为Binding的Source
- 数据绑定(四)使用DataContext作为Binding的Source
- WPF 中使用XML作为Binding数据源
- Binding(三)——使用DataContext作为Binding的源
- WPF中的binding(二)- 使用CLR对象或者对象名称作为Binding的数据源
- WPF中的binding(四)- 使用集合对象作为列表控件的ItemsSource
- WPF中的binding(五)- 使用DataTable作为Binding的源
- WPF中的binding(六)- 使用XML数据作为Binding的源
- WPF中的binding(七)- 使用LINQ检索作为Binding的数据源