Вы можете использовать MultiBinding с MultiValueConverter
<Button>
<Button.IsEnabled>
<MultiBinding Converter={StaticResource MultiCheckedToEnabledConverter}>
<Binding ElementName="CheckBox1" Path="IsChecked" />
<Binding ElementName="CheckBox2" Path="IsChecked" />
<Binding ElementName="CheckBox3" Path="IsChecked" />
</MultiBinding>
</Button.IsEnabled>
</Button>
public class MultiCheckedToEnabledConverter : IMultiValueConverter
{
#region Implementation of IMultiValueConverter
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) {
if (values != null) {
return values.OfType<bool>().Any(b => b);
}
return false;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) {
return new object[] {};
}
#endregion
}
надеюсь, это поможет