Set UProperty editable/visible by condition

Hi. So bad that UProperty has no readonly or visibility setting functionallity so i can just do:

PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent)
{
    if (condition)
    {
           PropertyChangedEvent.Property->SetEditable(true);
           or
           PropertyChangedEvent.Property->SetVisible(true);
    }
}

is there a way to do that?

also i have tried other way to do it with CanEditChange(), but with no luck: