2009-08-05 148 views
0

這裏的情況:WPF綁定問題

使用WPF

我必須設置窗口的DataContext的對象。此窗口上的列表視圖將顯示與DataContext(用戶)中的屬性相對應的用戶列表。

每當選擇一個用戶時,我將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 2009-08-05 01:27:14

+0

然後可能需要看一些代碼。你的「CurrentSelectedUser」屬性是一個依賴屬性,還是你的底層對象實現了INotifyPropertyChanged? – 2009-08-05 01:57:32

0

您是否將ObservableCollection用於您的用戶列表?

+0

如果他修改用戶的列表中,他沒有提到 - 只是他選擇從它的用戶。 ObservableCollection在這種情況下不起作用。 – 2009-08-05 01:23:43

+0

謝謝jle。我現在將我的用戶集合更新爲從ObservableCollection繼承。當我添加添加用戶功能時,這很好。 – Joe 2009-08-05 01:33:52