У нас есть ListBox, который имеет несколько элементов. Элементы вставляются в ListBox через ObservableCollection. Некоторые из этих элементов можно редактировать прямо в ListBox. Однако, если элемент добавляется по индексу < к индексу отредактированного элемента, весь контент ListBox перемещается вниз.Замораживание listboxitem при добавлении элементов
Что нам нужно сделать, так это следующее: если элемент находится в режиме редактирования, мы хотели бы заморозить его положение на экране. Это нормально, если элементы добавляются в коллекцию, а пользовательский интерфейс вокруг элемента изменяется. Но позиция элемента должна оставаться постоянной на экране.
Единственное, что я смог сделать до сих пор, это присоединить к событию ScrollChanged и, самое большее, использовать методы BringIntoView или ScrollIntoView, чтобы гарантировать, что элемент всегда отображается где-то в пользовательском интерфейсе, но я не могу чтобы заблокировать его положение.
Кто-нибудь сделал что-то подобное и помог?
Я не хотел представлять это как ответ, но первое, что я попробовал бы, если бы мне пришлось это сделать (и если вы используете привязку данных), - это разбить привязку данных, когда элемент редактируется, и набор datacontext снова после завершения редактирования. – Dave