2012-02-13 83 views
0

我有一個嵌套ListBoxes像一個warningListBox項目,可以包含picturesListBox和audioRecordListBox。 當我選擇一個孩子列表框中的一個元素(例如pictureListBox的項目)時,我不僅需要恢復所選擇的圖片項目,還需要父警告ListBox(warningListBox的項目)的項目。 在multimediaListBox_SelectionChanged(對象發件人,SelectionChangedEventArgs E)我可以恢復子項選擇嵌套列表框:是否有可能在選擇子列表框項目時恢復父列表框項目?

((System.Windows.Controls.ListBox)發送方).SelectedItem

但如何恢復的父代的ITEM warningListBox?

我必須在每個ListBox子元素中添加一個具有父項的ID的附加字段嗎? ...還是有更好的解決方案,例如在發件人中導航或使用SelectionChanged事件的eventArgs?

等待一些建議...

恩佐蒂尼

回答

0

這可能是最簡單的方法使數據結構類似於你有UI。所以也要嵌套數據結構。

要啓用跟蹤父項,請將Parent屬性添加到子項。

這樣你就可以得到父項是這樣的:

var parent = ((MySubitem)((System.Windows.Controls.ListBox)sender).SelectedItem).Parent; 

您可能會發現更容易維護這種結構,而不是試圖和跟蹤UI控件。

+0

謝謝埃爾諾。 我已經有一個反映嵌套結構的數據源: public class AttachmentsPivotDataSource {0} {0} {0}私人SignallingList _warningSignallingList; public SignallingList WarningSignallingList {//每個PivotItem Name =「WarningsPivotItem」 get { return _warningSignallingList; } set { _warningSignallingList = value; OnPropertyChanged(「WarningSignallingList」); } } ... – 2012-02-14 07:57:15

+0

所以添加Parent屬性。 – 2012-02-14 08:49:27