Если вы хотите удалить зависимость между пользовательским интерфейсом и Codebehind, то, вероятно, лучшая идея, так как вы используете WPF - это шаблон MVVM.Таким образом, вы не должны знать, что происходит, когда вы нажимаете на кнопку и т. Д. В противном случае вы можете подумать о ICommand, чтобы отделить команду от вашего кода.именно то, что @ Mead'Dib рекомендовал.
Другая область, которую вы можете исследовать, - подумать о чем-то вроде Command Pattern, где вы можете разделить Receiver и invoker.Так что вы не тесно связаны с кодом позади.Так что просто подумайте об использовании некоторого шаблона, который сделает вас безопасным, когда проблемы с обслуживанием там.