2011-12-17 25 views
2

我使用Silverlight 4的列表框控件來顯示項列表時沒有視覺突顯,在一個長期的選擇,我打電話的RIA服務 取得用於該用語類似的話,並加載這些類似的術語另一個列表框。對於一個要求,我需要自動 爲術語列表框中的默認或第一個術語獲取相似術語。我通過選擇 項目的第一項來達到同樣的效果,儘管我有一個問題,當我以編程方式設置列表框selecteditem時, 已被設置,但在視覺上,選定的項目沒有被突出顯示。任何想法爲什麼選擇的項目不是 以編程方式設置時突出顯示。的SelectedItem設置程序

當我將鼠標懸停在條目列表框上時,項目會發生變化。

注意:我附加了一個poc應用程序,演示了上述問題,當我運行poc應用程序時,會顯示術語列表框中第一個 術語的類似術語。然而,在這種情況下,「紅」的第一個項目是不是視覺上突出,當我點擊 術語列表框該UI的第一項示出了由透明矩形surronded。

事情我已經嘗試的事情

我已經使用了VSM用於指定的ListBoxItem的樣式的SelectedUnfocused狀態,並應用該樣式到一個ListBoxItem的 ItemContainerStyle屬性。

+2

你能表現出一定的代碼?設置有界屬性後,你觸發PropertyChanged事件嗎? – norbip 2011-12-17 17:36:17

+1

最有可能你正在使用一個*不同類型的實例*。爲了自動掛鉤,SelectedItem實例必須存在於ItemsSource集合中。 – Will 2011-12-19 15:24:39

回答

3

但是,視覺上所選擇的項目沒有被突出顯示。

呼叫ListBox.focus();

然後以編程方式選擇要通過以下任一項目:

ListBox.SelectedItem = item; 
ListBox.SelectedIndex = index; 
ListBox.SelectedItems.Add(item); 
etc. 
相關問題