2012-03-15 114 views
0

使用MVVM Light我有一個listbox數據綁定到幾個項目的集合。 其中的一項是選定的項目之一。WP7列表框 - 如何確保通過綁定來顯示選定的項目

有了這個代碼,它完美的作品和視圖模型結構的正確更新:

<Name="listBox1" 
ItemsSource="{Binding Path=Models}" 
SelectedItem="{Binding Path=csProfile.Model, Mode=TwoWay}"> 

我的問題是,當我在第一個項目進入頁面,如果所選擇的項目不是它是不可見的,並且用戶不知道以前的選擇是什麼。

我如何強制列表框始終顯示所選項目?

可能通過屬性或綁定。

M

回答

0

沒有屬性可以綁定以設置可見。請在ListBox中的ScrollViewer上調用ScrollToVerticalOffset()

0

我認爲你正在尋找ScrollIntoView方法。類似的話題在這裏討論: Automatic Scrolling in a Silverlight List Box

的API參考這裏:http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(VS.95).aspx

調用UpdateLayout請()調用ScrollIntoView所選項目之前似乎是必要的。

+0

我試圖添加以下代碼:'私人無效listBox1_SelectionChanged(對象發件人,SelectionChangedEventArgs E) \t \t { \t \t \t listBox1.UpdateLayout(); \t \t \t listBox1.ScrollIntoView(listBox1.SelectedItem); \t \t}'但它不起作用 – 2012-04-21 13:27:50

+0

我找到了一個解決方法:我把更新放在continer控件的事件中。 – 2012-04-22 13:27:30

相關問題