[UWP / MVVM] Botón Activar / Desactivar en la columna de plantilla de datos RadDataGrid que tiene comandos vinculados a ellos según las condiciones

He establecido una propiedad bool y la he vinculado a IsEnabled en xaml, pero el método ICommand CanExecute anula a IsEnabled en xaml, por lo que mi propiedad bool no es efectiva.

Cuando defino las condiciones dentro del método CanExecute en el modelo de vista, deshabilita todos los botones a los que está vinculado el método o los habilita a todos.

Es una cuadrícula que muestra 3 botones diferentes para cada fila, y cada botón va a una nueva pantalla xaml. Si no hay datos para la condición particular en la fila en la que el botón está activado, entonces el botón debe deshabilitarse.

¿Cómo hago para configurar esto para que los botones se deshabiliten en una condición?

Comando personalizado:

public class CustomCommand : ICommand
{

    private Action<object> execute;
    private Predicate<object> canExecute;
    public CustomCommand(Action<object> execute, Predicate<object> canExecute)
    {
        this.execute = execute;
        this.canExecute = canExecute;

    }

    public event EventHandler CanExecuteChanged
    {
        add
        {

        }
        remove
        {

        }
    }

    public bool CanExecute(object parameter)
    {
        //throw new NotImplementedException();
        bool b = canExecute == null ? true : canExecute(parameter);
        return b;
    }

    public void Execute(object parameter)
    {
        execute(parameter);
    }
}

xaml

<DataTemplate>
                                <Button Command="{Binding Source={StaticResource VM},
                                Path=Command}" CommandParameter="{Binding}" >
                                    <SymbolIcon Symbol="Edit" Foreground="AliceBlue" />
                                </Button>
</DataTemplate>

CanExecute en VM

 private bool CanGetDetails(object obj)
    {
        return true;
    }

Respuestas a la pregunta(2)

Su respuesta a la pregunta