Я бы порекомендовал вам принять шаблон MVVM (если вы этого еще не сделали) и иметь свою логику проверки в модели представления.Используя этот подход, вы можете:
- Предоставить свойство IsValid для модели представления и связать его с кнопкой;средство получения свойства вернет результат вашей логики проверки
- Предоставьте ICommand для модели представления, метод CanExecute которой вернет результат вашей логики проверки (рекомендуется)
Быстрый пример:
public class DiscountViewModel : ViewModel // Base class implements INotifyPropertyChanged
{
// Define all of your view model properties, i.e., DiscountAmount, DiscountPercent, etc.
...
// Define a command
public ICommand OKCommand { get; }
}
Затем в своем представлении XAML вы добавите следующую привязку:
<Button Command={Binding Path=OkCommand} Content="OK" />
Опять же, это лишь краткий пример, который должен помочь вам указать правильное направление.В шаблоне MVVM доступно множество полезных ресурсов, а также ресурсов для шаблона команд WPF.Вот хороший вводный ресурс, который охватывает оба: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx