WPF:Data Binding 数据绑定基础(2)

时间:2021-04-17 00:08:35
数据绑定:
是一个建立应用界面和业务逻辑之间联系的一个过程。
被绑定的两者(界面和数据)是相互影响的(反映和记录对方的变化)。

绑定静态资源(资源在同一个XAML文件中,注意一定要放到最上边,紧随<Window>之后)
<Window xlmns:system="clr-namespace:assembly=mscorlib">
<Window.Resources>
        <system.String x:Key="MenuFileHeader">File</system:String>
</Window.Resources>
<Grid><Menu><MenuItem Header={StaticResource MenuFileHeader}></MenuItem></Menu></Grid>
</Window>

绑定静态资源(资源放在独立的资源文件中:<HOME>"Resources"Skins"Default.xaml)
<ResourceDictionary xlmns:system="clr-namespace:assembly=mscorlib">
        <system:String x:Key="WindowMainTitle>Window Main Title</system:String>
</ResourceDictionary>
... ...
在Application.xaml中引用所定义的资源文件(当然,你可以直接在这里定义资源)
<Application>
        <Application.Resources>
                <ResourceDictionary Source="Resources/Skins/Default.xaml"></ResourceDictionary>
</Application>
... ...
<Window Title={StaticResource WindowMainTitle}>
</Window>

绑定动态资源(资源在独立的资源文件中,并被通过动态装载,参见我的WPF:换肤基础)
<ResourceDictionary xlmns:system="clr-namespace:assembly=mscorlib">
        <system:String x:Key="DynamicWindowMainTitle></system:String>
</ResourceDictionary>
... ...

<Window Title={DynamicResource WindowMainTitle}>
</Window>

绑定类对象属性(参见我的WPF:数据绑定基础)

绑定数据集(DataSet)
xxx.XAML
<Window>
<Grid>
        <TextBox Text="{Binding  Path=Table.UserName}"/>
</Grid>
</Window>
xxx.XAML.CS
DataSet dsUserInfo = GetUserInfo(); //默认Table[0]的名字是"Table",所以上面的Path是Table.xxx
DataContext = dsUserInfo;

数据绑定的能力还有很多,今天先到这里,休息,休息一下。