Botão de desativação no erro de validação

Tenho duas caixas de texto com validadores personalizados:
(Não me importo se dados "errados" forem enviados de volta ao objeto (a propriedade é string), só preciso impedir a funcionalidade de um botão se houver um erro; portanto, se a ligação não for o lugar certo para esse tipo de validação, por favor, diga.Eu apenas gosto do suporte Validation.ErrorTemplate que eu posso usar)

<ControlTemplate x:Key="validator" >
    <DockPanel LastChildFill="True">
       <TextBlock DockPanel.Dock="Right" Foreground="Red" FontSize="12pt">!</TextBlock>
       <Border BorderBrush="Red" BorderThickness="1.0">
            <AdornedElementPlaceholder />
       </Border>
    </DockPanel>
</ControlTemplate>

<TextBox Height="23" Width="150"  TextWrapping="Wrap"
         Validation.ErrorTemplate="{StaticResource validator}">
         <TextBox.Text>
            <Binding Path="StringProperty" UpdateSourceTrigger="LostFocus">
               <Binding.ValidationRules>
                   <local:NumbersOnly/>
               </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
</TextBox>

Como posso desativar um botão específico se ocorrer algum erro de validação?

<Button Content="DO Work"  Height="57" HorizontalAlignment="Left"  Name="button1" VerticalAlignment="Top" Width="234" Click="button1_Click" />

questionAnswers(5)

yourAnswerToTheQuestion