Hi,
This is the default behavior.
When PropertyGrid.IsReadOnly is set to True, all the PropertyItems Editor's IsEnabled property are set to false.
If you use a CheckBox or textBox, when IsEnabled = false, they will be grayed out by the system.
If you use an xceed NumericUpDown or DateTimeUpDown, the default template of those controls have triggers like :
This is the default behavior.
When PropertyGrid.IsReadOnly is set to True, all the PropertyItems Editor's IsEnabled property are set to false.
If you use a CheckBox or textBox, when IsEnabled = false, they will be grayed out by the system.
If you use an xceed NumericUpDown or DateTimeUpDown, the default template of those controls have triggers like :
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
You could try to modify the style of all the basic controls (TextBox, CheckBox, NumericUpDown, DateTimeUpDown.....) to chose a new Foreground when their IsEnabled property is false.