Breaking Change T1189390
Visible to All Users

Core - Some members changed their types and signatures to support the DevExpress.Drawing library for non-Windows deployments

What Changed

Type/Signature Changes

We changed member types and signatures in the following APIs:

  1. The DevExpress.ExpressApp.Editors.IAppearanceFormat.FontStyle property type changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  2. The DevExpress.ExpressApp.Editors.StaticText.FontStyle abstract property type changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  3. The DevExpress.ExpressApp.ConditionalAppearance.AppearanceAttribute.FontStyle property type changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  4. The DevExpress.ExpressApp.Utils.ImageInfo.Image property type changed from System.Drawing.Image to DevExpress.Drawing.DXImage.

  5. In the following classes, the unmapped Image property type changed from System.Drawing.Image to byte[]:

    • DevExpress.Persistent.BaseImpl.EF.PermissionPolicy.PermissionPolicyActionPermissionObject (a library used with Entity Framework Core and Entity Framework 6 ORMs)
    • DevExpress.Persistent.BaseImpl.PermissionPolicy.PermissionPolicyActionPermissionObject
  6. The DevExpress.ExpressApp.ConditionalAppearance.AppearanceItemFontStyle constructor's fontStyle parameter type was changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  7. The DevExpress.ExpressApp.Utils.ImageLoader.LoadFromResource method's return type changed from System.Drawing.Image to DevExpress.Drawing.DXImage.

  8. The DevExpress.ExpressApp.ConditionalAppearance.IAppearance.FontStyle property type changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  9. The DevExpress.Persistent.Base.General.ITreeNodeImageProvider.GetImage method's return type changed from System.Drawing.Image to DevExpress.Drawing.DXImage.

  10. The DevExpress.ExpressApp.Web.Editors.StaticTextViewItem.FontStyle property type changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  11. The DevExpress.ExpressApp.Web.Layout.WebLayoutItemAppearanceAdapter.FontStyle property type changed from System.Drawing.FontStyle to DevExpress.Drawing.DXFontStyle.

  12. The DevExpress.ExpressApp.Utils.CustomLoadImageFromStreamEventArgs.Image property type changed from System.Drawing.Image to DevExpress.Drawing.DXImage.

Reasons for Change

These new types help us resolve issues caused by the following Microsoft breaking change: System.Drawing.Common only supported on Windows. These changes also allow us to ensure proper operation of our products on all supported non-Windows environments (Linux and macOS), as well as in Azure App Service and Docker containers in .NET 6+.

Impact on Existing Apps

This change affects your application if you use the APIs mentioned above.

How to Update Existing Apps

To update your applications, use the list above to change property, parameter, and return value types in your applications.

The DevExpress.Drawing.DXImage type can be implicitly cast to System.Drawing.Image.
The System.Drawing.FontStyle enumeration type can be explicitly cast to DevExpress.Drawing.DXFontStyle and vice versa.

How to Revert to the Previous Behavior

Due to the nature of this change, the previous behavior is no longer accessible.

See Also

Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.