wpf редактировать элемент в списке при нажатии кнопки где-то на форме - PullRequest
3 голосов
/ 17 февраля 2010

Использование этого вопроса (Встроенное редактирование TextBlock в ListBox с DataTemplate (WPF) Теперь у меня есть ListBox, который можно дважды щелкнуть, чтобы редактировать элементы в нем. Теперь мне нужно иметь Button в форме, при нажатии на которую добавляется новый элемент в ListBox (это легко), но затем изменяется ListBoxItem на режим редактирования, чтобы пользователь мог сразу ввести значение. Как бы вы выбрали справа ListBoxItem, а затем найдите TextBlock и TextBox внутри него и измените их видимость, используя SelectedIndex?

1 Ответ

0 голосов
/ 11 сентября 2010

Я знаю, что это действительно поздний ответ, но вы рассматривали возможность добавления методов 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.
}

Мне нужно было бы увидеть еще немного кода, чтобы дать более точный ответ, но в моем опыте это хорошо сработало для контроля того, находится ли элемент управления в режиме редактирования вне области действия этого элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...