You'll need to create a custom property type which is Yes/No/Null (stored as PropertyNumber for example, values 2, 1, 0). For the default boolean property type, the false value is stored as null, which the dynamic properties interpret as not set.
I added code for such a property here: http://world.episerver.com/Code/Magnus-Paulsson/Nullable-boolean-property-type-selected--not-selected--null/
I am currently having some issues with dynamic properties and there inheritance. Say for example I have a dynamic property named 'ShowFeature' which is of type boolean ('selected/not selected').
I create a page called 'Parent' and then a child of 'Parent' named 'Child'.
I then set the 'ShowFeature' boolean value for 'Parent' to true, this value is then inherited in the child page.
I then want to somehow not show the feature on the 'Child' page, so I want to set the boolean value of the dynamic property to false.
When trying to edit the dynamic property on the child page it's value is inherited so I cannot turn it off, I can just turn it on. I am assuming this is possibly because the boolean property types value is null if it hasn't been checked.
Is there a known workaround to this, or do I have to implement my own boolean property?