我有一个Silverlight ModelViewViewModel项目,我希望将视图模型上的属性公开给UserControl,如:
public DTO.Client Client
{
get { return client; }
}
客户端是我在异步完成事件处理程序中设置的私有后备变量:
void GetClientByIDComplete(object sender, GetClientByIDCompletedEventArgs e)
{
Application.Current.RootVisual.Dispatcher.BeginInvoke(() =>
{
DTO.Client c = new ServiceContract.DTO.Client();
c = e.Result as DTO.Client;
client = e.Result as DTO.Client;
});
}
在我的Silverlight页面中,我有以下内容:
<TextBlock Text="{Binding Client.Name}"/>
永远不会显示数据。如果我将属性更改为:
,则会显示数据public DTO.Client Client
{
get {
client.Name = "My Name";
return client; }
}
这样我明确地赋值。
我需要更改什么才能让我的页面看到该属性?
答案 0 :(得分:0)
您是在填充客户端之后还是之前设置数据上下文?
在确定显示之前,它不知道基础数据在没有添加额外代码的情况下已经改变,实现INotifyPropertyChanged以便绑定可以理解数据已经改变。