Самый простой (и лучший метод) - просто поместить код того, что нужно сделать при нажатии кнопки, в отдельный метод (скажем, OnOkClicked ), а затем вызвать этот метод также из обработчика события нажатия кнопки. как в конце обработчика события ListBox DoubleClick.
Хороший шаблон для реализации - реализовать ICommand (например, RelayCommand Джоша Смита - google it) в вашем классе modelview, привязать к нему свойство Command кнопки, а затем в обработчике DoubleClick окна списка вызвать метод Executed команда. Эта структура упрощает поддержание логики:
- Если в списке ничего не выбрано, отключите кнопку ОК (Command.CanExecute вернет false)
- Если что-то выбрано в списке, включите кнопку ОК
- Если дважды щелкнуть окно списка, выберите элемент и вызовите команду OK.
Надеюсь, это поможет.