2012-04-30 61 views
0

我有一個bool Selected變量如果它被選中,檢查自定義用戶控制,和碼,並且如果是這樣它突出它,如果不是選擇它,它隱藏了亮點。夠簡單。對象通信

現在,我有一個充滿了該對象的面板上,我需要它的工作方式與任何文件資源管理器(如Windows資源管理器)。我的意思是,如果你點擊該項目,它會自行選擇。這不是問題,只是點擊鼠標。當用戶想要選擇其他項目而不是時出現問題。

我基本上想要的是:

每當用戶點擊一個項目,所有其它項目取消選擇和這樣。

我試圖找到最好的方法來做到這一點,我腦海裏所有的東西都有一個父類,它指導那些操作(更改布爾,並調用更新函數),但它看起來太潦草,也許有點複雜。有什麼建議麼?

謝謝。

+0

沒有完全閱讀,對不起。你究竟在選擇什麼......?文件,圖片? – moowiz2020

+0

哪個平臺? winform,wpf ??? –

+0

你基本上是問如何在WPF項目控件中實現單一選擇? – Tormod

回答

1

最常見的做法是一個「收藏」組件,它管理規則,比如有多少可以選擇的,並公開有用的信息和事件(如的SelectedItem和SelectedItemChanged)。

+0

你能提出一種「手動」實現這一點的方法嗎? (因爲我正在尋找調整這一點) – MasterMastic

+0

創建一個新的集合組件可以讓你重用這個地方;然而,一個快速和骯髒的解決方案是將這個管理代碼直接放在你的表單中。不過,我強烈建議你創建一個專用的收集組件。 – overslacked

+0

我描述了我在答案中做了什麼,但我認爲你應該仍然得到最好的答案,因爲你確實回答得很好 - 所以謝謝。 – MasterMastic

0

我發現我的第一個想法,我可以找到最好的(如「重新發明輪子」,如果不是,overslacked答案是偉大的這種情況下)。 我創建了一個具有這些用戶控件列表的類,併爲用戶控件提供了該列表的一個屬性。

所以當我想要選擇一個用戶控件時,我在它的click事件中有一個函數,它在我創建的類中,它取消選擇它下面的所有控件,並選擇一個我單擊的控件。

它確實看起來有點馬虎,但我敢肯定,如果我真的把我的想法付諸實踐,我可以把它變得簡單和有組織,以防萬一有人想知道並且需要這些信息。