Я знаю, что это действительно поздний ответ, но вы рассматривали возможность добавления методов BeginEdit
и EndEdit
к вашим предметам? Вы можете сделать что-то вроде:
CustomListBoxItem foo = new CustomListBoxItem();
customListBoxInstance.Add(foo);
foo.BeginEdit();
Мне пришлось сделать это с парой моих пользовательских элементов управления, которые нужно было создать, и сразу же перейти в режим редактирования. Вы бы получили что-то вроде:
private void TextBlock1_DoubleClick(object sender, RoutedEventArgs e)
{
BeginEdit();
}
public void BeginEdit()
{
// Code to put the item into edit mode.
}
Мне нужно было бы увидеть еще немного кода, чтобы дать более точный ответ, но в моем опыте это хорошо сработало для контроля того, находится ли элемент управления в режиме редактирования вне области действия этого элемента управления.