The overwriting of a default value of class property is not working if the default value is a class property:
<App>
<Panel ux:Class="RoundLabel1" CircleColor="#333" CircleBorderColor="#000">
<float4 ux:Property="CircleColor" />
<float4 ux:Property="CircleBorderColor" />
<Circle Color="{ReadProperty CircleColor}">
<Stroke Width="5">
<SolidColor Color="{ReadProperty CircleBorderColor}" />
</Stroke>
</Circle>
</Panel>
<Panel ux:Class="RoundLabel2" CircleColor="#333" CircleBorderColor="{ReadProperty CircleColor}">
<float4 ux:Property="CircleColor" />
<float4 ux:Property="CircleBorderColor" />
<Circle Color="{ReadProperty CircleColor}">
<Stroke Width="5">
<SolidColor Color="{ReadProperty CircleBorderColor}" />
</Stroke>
</Circle>
</Panel>
<Grid>
<RoundLabel1 CircleColor="#00F" CircleBorderColor="#0F0" Width="200"/>
<RoundLabel2 CircleColor="#00F" CircleBorderColor="#0F0" Width="200"/>
</Grid>
</App>
RoundLabel1 works as expected: border color turns into green, default color is black.
RoundLabel2 should behave in the same way, but it’s not. The difference here is that the default value points to a class property.