I am using two third-party controls (Infragistics XamTextEditor and XamMaskedEditor) in a DataGrid using the CardView view which changes the background colour of a DataCell depending on whether it is in edit mode or not. To not obscure this background effect, I have set the Background of the XamTextEditor and XamMaskedEditor controls to Transparent.
However, it seems that XamTextEditor automatically adjusts its Foreground according to the containing control's background colour, but XamMaskedEditor does not. This is particularly prominent in when using 'Windows XP' theme/style with the colour scheme set to 'Default (blue)'.
I tried putting the Infragistics controls on another control (a StackPanel) with its Background set to DarkBlue, but neither of the controls' Foreground changed to white; both remained black. So, it appears that the DataGrid is "telling" the editor control to change its Foreground, but it is not doing so on the XamMaskedEditor for some reason. Is this a failure on the part of the DataGrid or does the XamMaskedEditor not conform to some requirement?
I've attached an example project demonstrating this. Simply set your Display Settings to use 'Windows XP' theme, colour scheme 'Default (blue)' and then run the application. Click 'New Item' and type into both cells. The first one (which uses XamTextEditor) automatically provides a clear white Foreground against the dark blue background. The second one (which uses XamMaskedEditor) shows the standard black Foreground which is difficult to see against the dark blue background.
I've included the third-party controls required in the attached file.
Please could this be investigated and let me know if there is a workaround and if a fix request needs to be raised on either the DataGrid or the third-party control (of course, I know the latter is not your remit)?
Associate, .NET Development
Morgan Stanley, UK