代码下载地址:https://github.com/kuku2504/SummarySolution
// 摘要:
// 获取或设置元素参与数据绑定时的数据上下文。
//
// 返回结果:
// 要用作数据上下文的对象。
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
[Localizability(LocalizationCategory.NeverLocalize)]
public object DataContext { get; set; }
Object要用作数据上下文的对象。
属性LocalizabilityAttribute
<Window.Resources>
<s:String x:Key="Change">button的内容s:String>
Window.Resources>
<Grid>
<Button Width="288" Height="38" Content="{DynamicResource Change}">Button>
Grid>
注解
数据上下文 是一种概念,它允许元素从其父元素继承有关用于绑定的数据源的信息,以及绑定的其他特征,例如路径。
可以将数据上下文直接设置为 .NET 对象,绑定将评估为该对象的属性。 或者,可以将数据上下文设置为 DataSourceProvider 对象。
此依赖属性继承属性值。 如果没有通过本地值或样式建立的其他值的 DataContext 子元素,则属性系统会将该值 DataContext 设置为分配此值的最近的父元素的值。
///
/// DataContext
///
private DelegateCommand _btPersonalInfoCommand;
public DelegateCommand BtPersonalInfoCommand => _btPersonalInfoCommand ?? (_btPersonalInfoCommand = new DelegateCommand(ExecuteBtPersonalInfoCommand));
private void ExecuteBtPersonalInfoCommand()
{
PersonalInfo = _container.Resolve<PersonalInfoViewModel>();
PersonalInfo.GetPersonInfo();
}
进行数据加载,并把数据显示到UserControl中的view中
using Prism.Mvvm;
namespace _01上下文绑定.ViewModels
{
public class PersonalInfoViewModel : BindableBase
{
private string unitName;
public string UnitName
{
get { return unitName; }
set { SetProperty(ref unitName, value); }
}
private string cloudCoinNum;
public string CloudCoinNum
{
get { return cloudCoinNum; }
set { SetProperty(ref cloudCoinNum, value); }
}
public PersonalInfoViewModel()
{
}
public void GetPersonInfo()
{
UnitName = "清华MBA";
CloudCoinNum = "265";
}
}
}
运行程序结果如下:
代码下载地址:https://github.com/kuku2504/SummarySolution