Выбранный пункт WPF ListBox кнопки

Как другой в стороне, команда притона мерзавца является удачей при попытке мерзавцу мерзавцем-svn dcommits.

А типичный процесс:

  1. настроенный мерзавец repo
  2. делает некоторая работа над различными файлами
  3. решает регистрировать часть работы, использование мерзавца
  4. решает к svn-dcommit
  5. , добираются, страшное "не может совершить с грязным индексом" ошибку.

решение (требует мерзавца 1.5.3 +):

git stash; git svn dcommit ; git stash apply
5
задан Nate 16 July 2009 в 20:25
поделиться

2 ответа

var curItem = ((ListBoxItem)myListBox.ContainerFromElement((Button)sender)).Content;
22
ответ дан 18 December 2019 в 06:12
поделиться

Когда нажимается кнопка, она устанавливает для e.Handled значение true, в результате чего прохождение перенаправленного события останавливается.

Вы можете добавить обработчик к Button, который снова вызывает перенаправленное событие, или находит визуального предка типа ListBoxItem и устанавливает для его свойства IsSelected значение true.

EDIT

Метод расширения, подобный этому:

public static DependencyObject FindVisualAncestor(this DependencyObject wpfObject, Predicate<DependencyObject> condition)
{
    while (wpfObject != null)
    {
        if (condition(wpfObject))
        {
            return wpfObject;
        }

        wpfObject = VisualTreeHelper.GetParent(wpfObject);
    }

    return null;
}

Использование:

myButton.FindVisualAncestor((o) => o.GetType() == typeof(ListBoxItem))
4
ответ дан 18 December 2019 в 06:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: