WPF - как обновить текстовое поле с выбранным элементом в списке? Используя MVVM! - PullRequest
1 голос
/ 22 декабря 2010

Я был бы благодарен, если бы кто-нибудь дал мне несколько советов по очень раздражающей проблеме, с которой я столкнулся - я схожу с ума, пытаясь сделать эту работу, поскольку я уверен, что должно быть простое решение, но я могу »не вижу этого!

В результате очень полезных ответов на мой предыдущий вопрос, опубликованный здесь, я пытаюсь использовать подход MVVM в WPF.

У меня есть просмотр списка на одной странице, который привязывается к коллекции ObservableCollection в модели представления, и выбранный элемент списка просмотра привязывается к свойству SelectedEntity в модели представления:

<Listview Name="listview" ItemsSource="{Binding Entities}" SelectedItem="{Binding SelectedEntity, Mode=TwoWay}">

ВНа другой странице у меня есть текстовое поле, привязанное к свойству Name SelectedEntity в модели представления:

<TextBlock Text="{Binding Path=SelectedEntity.Name}" />

Код в модели представления:

Private Entity selectedEntity;
Public Entity SelectedEntity 
{ 
   get
   {
       return selectedEntity;
   }
   set
   {
       if (selectedEntity != value)
       {
           selectedEntity = value;
           RaisePropertyChanged("SelectedEntity"); 
       }
   }

RaisePropertyChanged - это метод, который реализует INotifyPropertyChanged.

Что я хочу сделать, это обновить текстовый блок, когда текущий выбранный элемент в списке изменяется, но просто не будет?Я упускаю что-то действительно очевидное?

Большое спасибо за любые советы, которые вы мне можете дать!

1 Ответ

0 голосов
/ 22 декабря 2010

Я получил это с помощью MVVM Light Toolkit и загрузил его здесь

Это работает, поскольку ViewModelLocator содержит статическую ссылку на ViewModel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...