ListCollectionView.CurrentPosition setter
ListCollectionView имеет свойство получить текущую позицию (CurrentPosition):
http://msdn.microsoft.com/en-us/library/system.windows.data.collectionview.currentposition.aspx
Но это свойство только для чтения.
Получает порядковую позицию CurrentItem в (необязательно отсортированном и отфильтрованном) представлении.
Так как же установить текущую позицию? Я надеюсь, что это не связано с поведением...
Мне нужно прокрутить до верха ListView или DataGrid, и мне кажется, что можно легко установить свойство, подобное этому, для его достижения, не вдаваясь в подробности представления.
Заранее спасибо.
Обновить:
Это мой собственный обходной путь на данный момент - но это своего рода маскировка - когда кто-то хочет использовать MVVM (используя F#):
let linesControl = context.Window.FindName("ObjectListView") :?> ListView
let scrollBorder = VisualTreeHelper.GetChild(linesControl, 0) :?> Border
let scrollViewer = scrollBorder.Child :?> ScrollViewer
scrollViewer.ScrollToVerticalOffset(0.0)
2 ответа
То, что я использую в основном attached property
чтобы обойти доступные только для чтения, не привязываемые свойства (даже большую часть времени вам не нужно писать, связывание не выполняется).
Эта статья решает аналогичную проблему с ActualWidth
/ ActualHeight
...
http://meleak.wordpress.com/2011/08/28/onewaytosource-binding-for-readonly-dependency-property/
... и вы можете скачать код / пример там (или http://dl.dropbox.com/u/39657172/Blog/PushBindingInStyleDemo.zip).
То, что вы используете, чтобы связать это что-то вроде...
<pb:PushBindingManager.PushBindings>
<pb:PushBinding TargetProperty="CurrentPosition" Path="YourPositionProperty"/>
</pb:PushBindingManager.PushBindings>
Я действительно не пробовал это на вашем примере - но, судя по всему, это должно работать так же, если есть CurrentPosition
уже.
Кроме того, взгляните на этот предыдущий пост для получения более подробной информации, если это необходимо (как подходить к этому в стиле и т. Д.)...
Сосредоточьтесь MenuItem в подменю WPF
(отказ от ответственности: не моя статья - я просто благодарный пользователь:)