2009-08-05 1 views
0

Вот ситуация:WPF Binding Вопрос

Использование WPF

У меня есть объект установлен на DataContext окна. Список в этом окне должен отображать список пользователей, который соответствует свойству в DataContext (Users).

Всякий раз, когда выбирается пользователь A, я устанавливаю CurrentDisplayedUser для этого пользователя для выбранного объекта.

У меня есть другой список, в котором должны отображаться предупреждения этого пользователя. Это доступно через User.Alerts.

Моя проблема в том, что всякий раз, когда я обновляю свойство CurrentDisplayedUser, вид списка, привязанный к CurrentDisplayedUser.Alerts не обновляется.

Заранее благодарен! Надеюсь, я предоставил адекватную информацию.

ответ

1

Вы пытались напрямую подключить два списка, используя привязку элементов, вместо того чтобы полагаться на свойство посредника «CurrentDisplayedUser»?

<Window ...> 
    <StackPanel> 
     <ListView x:Name="userList" ItemsSource="{Binding Users}"> 
      ... 
     </ListView> 

     <!-- display selected user here --> 
     <ContentControl Content="{Binding SelectedItem,ElementName=userList /> 

     <ListView ItemsSource="{Binding SelectedItem.Alerts,ElementName=userList> 
      ... 
     </ListView> 
    </StackPanel> 
</Window> 
+0

Это работает спасибо! Тем не менее, мое намерение состояло в том, чтобы изменить вид списка оповещений на основе события двойного щелчка в userList. – Joe

+0

Возможно, вам понадобится код. Свойство «Свойство CurrentSelectedUser» является свойством зависимости, или ваш базовый объект реализует INotifyPropertyChanged? –

0

Вы использовали ObservableCollection для своего списка пользователей?

+0

Он не упоминает, если он изменяет список пользователей - только то, что он выбирает пользователя из него. ObservableCollection в этом случае не поможет. –

+0

Спасибо jle. Теперь я обновляю свою коллекцию пользователей, чтобы наследовать от ObservableCollection. Это хорошо, когда я догадался, что добавляю функциональность для добавления пользователей. – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^