Реализация свойств в модели представления Silverlight - PullRequest
0 голосов
/ 15 июля 2009

У меня есть проект Silverlight ModelViewViewModel, который я хотел бы предоставить свойству модели представления для UserControl, например:

public DTO.Client Client
{
    get { return client; }
}

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; }
}

Таким образом, я явно назначаю значение.

Что мне нужно изменить, чтобы это свойство было видно на моей странице?

1 Ответ

0 голосов
/ 15 июля 2009

Вы устанавливаете контекст данных после заполнения Клиента или до?

После того, как он должен точно отобразиться, прежде чем он не узнает, что базовые данные изменились, без добавления дополнительного кода, внедрите INotifyPropertyChanged, чтобы привязки могли понять, что данные изменились.

...