﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://community.devexpress.com/feed-stylesheets/rss.xsl" media="screen"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dx="https://www.devexpress.com/" xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>ctodx</title>
    <link>https://community.devexpress.com/Blogs/ctodx/default.aspx</link>
    <description>Discussions, news and rants from the CTO of DevExpress, Julian M Bucknall</description>
    <language>en-US</language>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:386711</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2021/12/15/devexpress-vcl-subscription-v21-2-released.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Release">Release</category>
      <category domain="https://community.devexpress.com/Tags/v21.2">v21.2</category>
      <category domain="https://community.devexpress.com/Tags/VCL">VCL</category>
      <title>DevExpress VCL Subscription v21.2 released</title>
      <description>&lt;p&gt;Slightly later than expected perhaps, we’ve just released v21.2 of the &lt;a href="https://www.devexpress.com/products/vcl/" target="_blank"&gt;DevExpress VCL Subscription&lt;/a&gt; product. The reason for the delay? Well, as can be seen from &lt;a title="Blog post: VCL Charts - Early Access Preview (v21.2)" href="https://community.devexpress.com/blogs/ctodx/archive/2021/12/14/vcl-charts-early-access-preview-v21-2.aspx"&gt;our previous announcement&lt;/a&gt; we have been working really hard on providing the Early Access Preview of the new ExpressCharts package as part of this release, currently available to active subscribers only. &lt;/p&gt;&lt;p&gt;For a complete list of what’s new in v21.2, please check out &lt;a href="https://devexpress.com/new"&gt;devexpress.com/new&lt;/a&gt;. &lt;/p&gt;&lt;p&gt;Important features, at least from my viewpoint, include: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;The aforementioned ExpressCharts library&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Support for Windows 11 and its rounded corners (and even in previous versions of Windows!)&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Skinnable system message dialogs, and Open/Save Picture dialogs&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;The new Shell TreeView and Shell ListView controls (CTP)&lt;br&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Preview pane for file open/save dialogs&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Fixed column/band modes for relevant Grid views&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Baseline support for the Gantt Control&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Support for interactive forms with the PDF Viewer (CTP)&lt;br&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;Various Image List Editor enhancements&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Just to emphasize though, this list is a deliberately sparse selection of the many new enhancements we’ve done for v21.2. You really should visit &lt;a href="https://www.devexpress.com/Subscriptions/New-2021-2.xml"&gt;the What’s New page&lt;/a&gt; to see the full list.&lt;/p&gt;&lt;p&gt;As usual, we’ve listed the &lt;a href="https://supportcenter.devexpress.com/versionhistory"&gt;Resolved Issues&lt;/a&gt; introduced in this release from the latest version of the previous major release (follow that link to the version history page, make sure you clear any filters that may be set, and then select VCL, as well as “Resolved Issues”). That page also enables you to review the changes we’ve made from any release to any other.&lt;/p&gt;&lt;p&gt;Unfortunately, for every major release, no matter how hard we try and minimize the impact, some new features and enhancements are bound to cause a few breaking changes. You can see those from that same version history page: just select “Breaking Changes” instead.&lt;/p&gt;&lt;p&gt;I pretty much say something like this with every major release: we would not be able to produce and release such robust and full-featured controls, features, and enhancements without the invaluable help of you, our customers. By publishing surveys, reviewing comments and support tickets, we find that we can more easily focus on providing what our customers want from our products going forward. Also, you may have noticed that we’ve been publishing relevant blog posts on what we are doing, posts detailing various tips and tricks, and posts on how we aim to move forward. My strong recommendation is to monitor our community site more than ever before.&lt;/p&gt;&lt;p&gt;I’d like to thank everyone who provided feedback on our products throughout this year, who used and tested the v21.2 beta we produced and provided information on the issues they found, and, of course, to all our VCL customers who use our products every day in their applications. We are confident that the new controls, features, and enhancements in this new release of the VCL Subscription will strengthen and validate your trust in our libraries. Thank you, it is much appreciated. &lt;/p&gt;</description>
      <pubDate>Wed, 15 Dec 2021 09:15:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:386661</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2021/12/14/vcl-charts-early-access-preview-v21-2.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Charts">Charts</category>
      <category domain="https://community.devexpress.com/Tags/Delphi">Delphi</category>
      <category domain="https://community.devexpress.com/Tags/DirectX">DirectX</category>
      <category domain="https://community.devexpress.com/Tags/prerelease">prerelease</category>
      <category domain="https://community.devexpress.com/Tags/RAD+Studio">RAD Studio</category>
      <category domain="https://community.devexpress.com/Tags/v21.2">v21.2</category>
      <category domain="https://community.devexpress.com/Tags/VCL">VCL</category>
      <title>VCL Charts - Early Access Preview (v21.2)</title>
      <description>&lt;p&gt;The next major release of our VCL Subscription (v21.2) is just around the corner. Before the official release, we wanted to share some good news that you&amp;#39;ve probably already guessed from the post title. Yes, v21.2 will ship with an early access preview (EAP) of our new product, ExpressCharts. In this post, I shall highlight the main features and capabilities the product will include in this preview.&lt;/p&gt;
&lt;p&gt;Of course, should you have any questions or feedback on our new product, please comment below or submit a support ticket via the &lt;a href="https://devexpress.com/ask" target="_blank"&gt;DevExpress Support Center&lt;/a&gt;. We will be happy to follow-up.&lt;/p&gt;

&lt;div class="Note"&gt;The VCL ExpressCharts Early Access Preview is available for all customers with an active DevExpress VCL Subscription. It is &lt;em&gt;not&lt;/em&gt; available in the VCL Subscription trial version.&lt;/div&gt;&lt;h2&gt;DirectX, GDI+, &lt;em&gt;and&lt;/em&gt; GDI Support
&lt;/h2&gt;&lt;p&gt;The ExpressCharts Suite fully supports DirectX, GDI+, and GDI rendering and allows you to apply skins and transparency effects to chart elements. Anti-aliasing is enabled in both DirectX and GDI+ render modes and will enhance the graphical elements of charts even more.&lt;/p&gt;&lt;h2&gt;Performance&lt;/h2&gt;&lt;p&gt;Although the ExpressCharts Suite is currently available as an Early Access Preview, it already includes a number of optimizations that distinguish it from competing VCL chart libraries. Initial rendering is one aspect of performance that we&amp;#39;ve been concentrating on, another being what happens — and how quickly it gets redisplayed — when a chart is resized. Without a doubt though, the fastest way to display&amp;nbsp;charts is to render them by using DirectX.&lt;/p&gt;&lt;p&gt;As we get closer to the official release for ExpressCharts (the release date is set for June 2022), we’ll share specific benchmarks for a broad range of usage scenarios. And yes, our expectation is that ExpressCharts will outperform its competitors – in some cases by a wide margin (for instance, right now ExpressCharts renders a line chart with one million&amp;nbsp;points in under two seconds with DirectX, and resizing it completes in about one tenth of a second).&lt;/p&gt;   

&lt;h2&gt;Multiple View/Series Types&lt;/h2&gt;
&lt;p&gt;The EAP version of the ExpressCharts Suite includes the following view/series types:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Area, Stacked Area, and Full-Stacked Area&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCLCharts-StackedArea-Series(1).png" alt="VCL ExpressCharts - Stacked Area Series" style="width:780px;height:556px;"&gt;

&lt;ul&gt;
    &lt;li&gt;Bar, Stacked Bar, and Full-Stacked Bar&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCLCharts-StackedBar-Series(1).png" alt="VCL ExpressCharts - Stacked Bar Series" style="width:780px;height:556px;"&gt;

&lt;ul&gt;
    &lt;li&gt;Line, Stacked Line, and Full-Stacked Line&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCLCharts-Line-Series(1).png" alt="VCL ExpressCharts - Line Series" style="width:780px;height:556px;"&gt;

&lt;ul&gt;
    &lt;li&gt;Donut chart&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCL-Charts-Donut-Series.png" alt="VCL ExpressCharts - Donut Series"&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Pie chart&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCL-Charts-Pie-Series.png" alt="VCL ExpressCharts - Pie Series"&gt;&lt;/p&gt;

&lt;br&gt;
&lt;p&gt;You and your users can change the applied chart type with a single option.&lt;/p&gt;
&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCLCharts-Series-Type(3).png" alt="VCL ExpressCharts - Switch Series Type" style="width:780px;height:556px;"&gt;

&lt;h2&gt;Flexible Design&lt;/h2&gt;
&lt;p&gt;You can create any number of diagrams and display any number of series/series points in each diagram.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCL-Charts-Multiple-Diagrams.png" alt="VCL ExpressCharts - Multiple Diagrams"&gt;&lt;/p&gt;

&lt;h2&gt;Data Binding Modes&lt;/h2&gt;
&lt;p&gt;Each series has a &lt;code&gt;DataBinding&lt;/code&gt; property that allows you to select the desired mode (Data-aware or Unbound) and specify the data binding options for your chart.&lt;/p&gt;
&lt;p&gt;The code examples below show how to bind an Area series to data in these modes and plot it in a diagram.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Data-Aware&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;&lt;code class="language-pascal"&gt;var
  ADiagram: TdxChartXYDiagram;
  ASeries: TdxChartXYSeries;
  ABinding: TdxChartSeriesDBDataBinding;
begin
  ADiagram := dxChartControl1.AddDiagram&amp;lt;TdxChartXYDiagram&amp;gt;;
  ASeries := ADiagram.AddSeries(&amp;#39;Sales in 2020&amp;#39;);
  ASeries.ViewType := &amp;#39;Area&amp;#39;;
  ASeries.DataBindingType := &amp;#39;DB&amp;#39;;
  ABinding := ASeries.DataBinding as TdxChartSeriesDBDataBinding;
  ABinding.DataSource := dsSales;
  ABinding.ArgumentField.FieldName := &amp;#39;Region&amp;#39;;
  ABinding.ValueField.FieldName := &amp;#39;Sales&amp;#39;;
end;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Unbound&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;&lt;code class="language-pascal"&gt;const
  ACount = 5;
  ACountries: array[0..ACount - 1] of string = 
    (&amp;#39;Asia&amp;#39;, &amp;#39;Australia&amp;#39;, &amp;#39;Europe&amp;#39;, &amp;#39;North America&amp;#39;, &amp;#39;South America&amp;#39;);
  ASales: array[0..ACount - 1] of Double = (4.28, 2.27, 3.72, 4.18, 3.11);
var
  I: Integer;
  ADiagram: TdxChartXYDiagram;
  ASeries: TdxChartXYSeries;
  ABinding: TdxChartXYSeriesUnboundDataBinding;
begin
  ADiagram := dxChartControl1.AddDiagram&amp;lt;TdxChartXYDiagram&amp;gt;;
  ASeries := ADiagram.AddSeries(&amp;#39;Sales in 2020&amp;#39;);
  ASeries.BeginUpdate;
  try
    ASeries.ViewType := &amp;#39;Area&amp;#39;;
    ABinding := ASeries.DataBinding as TdxChartXYSeriesUnboundDataBinding;
    ABinding.ArgumentField.ValueType := &amp;#39;String&amp;#39;;
    for I := 0 to ACount - 1 do
      ASeries.Points.Add(ACountries[I], ASales[I]);
  finally
    ASeries.EndUpdate;
  end;
end;&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Customization Options&lt;/h2&gt;
&lt;p&gt;The VCL Chart Control provides an extensive API that allows you to customize chart content as needs dictate. The built-in Chart Designer (available at both design and runtime) helps you and your users preview and apply chart changes.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://community.devexpress.com:443/blogs/ctodx/VCL-Charts-Chart-Designer.png" alt="VCL ExpressCharts - Built-in Chart Designer"&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 14 Dec 2021 17:00:00 Z</pubDate>
      <dc:creator>The DevExpress Team</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:386485</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2021/11/04/devexpress-universal-v21-2-released.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET">.NET</category>
      <category domain="https://community.devexpress.com/Tags/Featured">Featured</category>
      <category domain="https://community.devexpress.com/Tags/universal">universal</category>
      <category domain="https://community.devexpress.com/Tags/v21.2">v21.2</category>
      <title>DevExpress Universal v21.2 released</title>
      <description>&lt;p&gt;It’s that time of the year – time for our second major release of 2021. A couple of days ago we officially released v21.2 and introduced enhancements and new features across the whole of our .NET/JavaScript product portfolio (including updates to the following subscriptions/product lines: &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#winforms"&gt;WinForms&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#wpf"&gt;WPF&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#aspnet"&gt;ASP.NET/MVC&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#blazor"&gt;Blazor&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#devextreme"&gt;DevExtreme&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#reporting"&gt;Reports&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#dashboard"&gt;BI Dashboards&lt;/a&gt;, &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#xaf"&gt;XAF&lt;/a&gt;, and &lt;a href="https://www.devexpress.com/subscriptions/new-2021-2.xml#officefileapi"&gt;Office File API&lt;/a&gt;). As is usual, however, the new version of our VCL Subscription will be released in a couple of weeks&amp;#39; time. &lt;/p&gt;&lt;p&gt;For a complete list of what’s new in this release,&amp;nbsp;please check out &lt;a href="https://devexpress.com/new"&gt;devexpress.com/new&lt;/a&gt;. This particular cycle is also of major importance in that Microsoft are due to publish the release candidates for both Visual Studio 2022 and .NET 6 within a few days, and obviously our teams have been adding new functionality and features to support them both (and making sure everything continued to work as we progressed through the beta cycle).&lt;/p&gt;&lt;p&gt;Important features, at least from my viewpoint, include: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Support for HTML/CSS templates in various WinForms controls&lt;/li&gt;&lt;li&gt;Support for Windows 11 in WinForms and WPF&lt;/li&gt;&lt;li&gt;A Heat Map control for both WinForms and WPF&lt;/li&gt;&lt;li&gt;Accessible PDF support across the board, and in fact we’ve done a lot for accessibility throughout this release&lt;/li&gt;&lt;li&gt;Dashboard, Rich Text Editor, DropDown control, and a major set of features for the new Grid, all for Blazor&lt;/li&gt;&lt;li&gt;Talking of Blazor, our cross-platform .NET app development product, XAF, is deepening its support for it in leaps and bounds&lt;/li&gt;&lt;li&gt;So many improvements to our reporting suite that it’s hard to select even one or two to point out, but we now have a Report Viewer for Blazor and for WinUI&lt;/li&gt;&lt;li&gt;And of course, we’ve been doing a lot of work for .NET MAUI.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;But, just to reiterate, this list was a deliberately sparse selection of the many new enhancements we’ve done for v21.2. You really should visit &lt;a href="https://www.devexpress.com/Subscriptions/New-2021-2.xml"&gt;the What’s New page&lt;/a&gt; to see the full list.&lt;/p&gt;&lt;p&gt;As usual, we’ve listed the &lt;a href="https://www.devexpress.com/Support/Center/VersionHistory?TechnologyName=.NET&amp;amp;PlatformName=AllPlatforms&amp;amp;ProductName=AllProducts&amp;amp;VersionHistoryItemsType=ResolvedIssues&amp;amp;StartBuildName=21.1.6&amp;amp;EndBuildName=21.2.3&amp;amp;version-mode=single-mode"&gt;Resolved Issues&lt;/a&gt; introduced in this release from the latest version of the previous major release. That page also enables you to review the changes we’ve made from any release to any other.&lt;/p&gt;&lt;p&gt;Unfortunately, for every major release, no matter how hard we try and minimize the impact, some new features and enhancements are bound to cause a few breaking changes. You can read about the v20.1 breaking changes &lt;a href="https://www.devexpress.com/Support/Center/VersionHistory?TechnologyName=.NET&amp;amp;PlatformName=AllPlatforms&amp;amp;ProductName=AllProducts&amp;amp;VersionHistoryItemsType=BreakingChanges&amp;amp;StartBuildName=21.1.6&amp;amp;EndBuildName=21.2.3&amp;amp;version-mode=single-mode"&gt;here&lt;/a&gt;, although one major one for our web-based products was &lt;a title="Blog post: DevExtreme and related products: End of support for Internet Explorer 11" href="https://community.devexpress.com/blogs/ctodx/archive/2021/06/10/devextreme-and-related-products-end-of-support-for-internet-explorer-11.aspx"&gt;ending support for Internet Explorer 11&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I pretty much say something like this with every major release: we would not be able to produce and release such robust and full-featured controls, features, and enhancements without the invaluable help of you, our customers. By publishing surveys, reviewing comments and support tickets, we find that we can more easily focus on providing what our customers want from our products going forward. Also, you may have noticed that we’ve been publishing relevant blog posts on what we are doing, posts detailing various tips and tricks, and posts on how we aim to move forward. My strong recommendation is to monitor our community site more than ever before.&lt;/p&gt;&lt;p&gt;I’d like to thank everyone who provided feedback on our products throughout this year, who used and tested the various v21.2 betas we&amp;#39;ve produced and provided information on the issues they found, and, of course, to all our customers who use our products every day in their applications. We are confident that the new controls, features, and enhancements in v21.2 will strengthen and validate your trust in our products. Thank you, it is much appreciated. &lt;/p&gt;</description>
      <pubDate>Thu, 04 Nov 2021 08:00:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:385932</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2021/06/30/winforms-net-5-design-time-enhancements.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET+5">.NET 5</category>
      <category domain="https://community.devexpress.com/Tags/Designer">Designer</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <title>WinForms: .NET 5 Design Time Enhancements</title>
      <description>&lt;p&gt;Before I describe our new WinForms .NET 5 designer and associated design-time experience, I think a word or two is needed about how we got here and why it took so long to address the needs of our loyal (and patient) WinForms developer community.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;h2&gt;&lt;b&gt;WinForms &amp;amp; .NET 5 – a Short Story&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;With the introduction of .NET Core 3, Microsoft chose to fundamentally alter Visual Studio’s design-time experience – from both a functional perspective and from a third-party implementation perspective. The biggest change to the design-time – and the &lt;em&gt;only&lt;/em&gt; option for WinForms moving forward – involved the use of multi-platform code (.NET Core and standard .NET Framework) delivered as a NuGet package. &lt;/p&gt;&lt;p&gt;Microsoft opted to split the design-time into two distinct processes and to execute these processes via different development frameworks. The actual UI (controls and designer preview) now runs within the .Net Core process. Designer UI code or the code that allow components such as ours to be designed inside Visual Studio now runs under .NET Framework 4.6 (4.8). These processes require special message protocols for communication. Furthermore, interface elements used to edit component properties (along with component wizards) must run on the standard .NET Framework. And yes, designer code cannot reference or use actual control types – it can only access control properties using names via specialized proxies.&lt;/p&gt;&lt;p&gt;As you can probably guess, Microsoft’s decision essentially left us with three options:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Sit tight and hope that Microsoft reverses course and addresses our needs. &lt;i&gt;This did not happen&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;Rewrite the entire DevExpress design-time experience &lt;u&gt;with standard controls&lt;/u&gt; and throw-away a decade or more of work. &lt;i&gt;We were unwilling to compromise and completely unwilling to go this route.&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Before we describe the third choice, a quick word about option #2. Setting aside the cost and time involved with this option, had we chosen this route, our unique WinForms design-time experience would have disappeared for good. For instance, all preview-related features within primary designers (such as our WinForms Grid Designer and our Charts Designer) would have never made it to .NET Core 3. &lt;/p&gt;&lt;ol start="3"&gt;&lt;li&gt;Move our Designer UI into the .NET Core process. &lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Though option #3 introduced its own set of challenges (inter-process communications, etc), we chose it because it allowed us to share much of the same code base between the two major .NET frameworks. Additionally, this option gave us the ability to maintain design-time continuity between frameworks.&lt;/p&gt;&lt;p&gt;While we had hoped to release a major update late last year, breaking changes prevented us from doing so. The good news is that Microsoft completed its last major change (moving certain designer operations from the .NET Framework to .NET Core) in May with Visual Studio 2019 Build 16.10. Once Microsoft had officially released v16.10, we were in position to complete our redesign and deliver a relatively stable version of our .NET 5 WinForms designer.&lt;/p&gt;&lt;h2&gt;&lt;b&gt;DevExpress WinForms .NET 5 Design-Time – A Primer&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;[Note: To use our .NET 5 designer, you will need to install Visual Studio Build 16.10 or later alongside the .NET 5 Runtime. Of course, you will also need an active DevExpress product subscription (WinForms, DXperience, or Universal).]&lt;/p&gt;&lt;p&gt;Our most recent distribution (v21.1.4) includes a new &lt;b&gt;DevExpress.Win.Design&lt;/b&gt; package. As you might surmise from the name, this package powers our Visual Studio .NET 5 design-time experience. &lt;/p&gt;&lt;p&gt;&lt;b&gt;DevExpress.Win.Design&lt;/b&gt; will be installed automatically when you generate a new project using our WinForms Template Gallery. If you wish to update an existing app or create a blank project, you can install this package manually. To install manually, navigate to Visual Studio’s “Manage NuGet packages” dialog, select the DevExpress Local package feed, and install &lt;b&gt;DevExpress.Win.Design&lt;/b&gt; from the &amp;quot;Browse&amp;quot; tab.&lt;/p&gt;&lt;p&gt;&lt;a href="https://community.devexpress.com/blogs/ctodx/DevExpress-Win-Design-NuGet_648A467C.png"&gt;&lt;img title="Installing DevExpress.Win.Design package via NuGet" style="border:0px currentcolor;border-image:none;display:inline;background-image:none;" alt="Installing DevExpress.Win.Design package via NuGet" src="https://community.devexpress.com/blogs/ctodx/DevExpress-Win-Design-NuGet_thumb_5411D581.png" width="624" height="233" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This new package resolves numerous .NET 5 design-time issues and introduces new .NET 5 design-time options, including smart tag menu actions. To deliver this specific capability, we created custom smart tags for key UI elements (Grid columns, Ribbon Bar Items, etc.). &lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="https://community.devexpress.com/blogs/ctodx/Custom-dotNet5-Smart-Tag_3CE65B03.png"&gt;&lt;img title="Custom dotNet5 Smart Tag" style="border:0px currentcolor;border-image:none;display:inline;background-image:none;" alt="Custom dotNet5 Smart Tag" src="https://community.devexpress.com/blogs/ctodx/Custom-dotNet5-Smart-Tag_thumb_73C33FFA.png" width="417" height="244" border="0"&gt;&lt;/a&gt;&lt;br&gt;New Custom .NET 5 Smart Tag&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="https://community.devexpress.com/blogs/ctodx/dotNet5-App-Template-Gallery_00BD200C.png"&gt;&lt;img title="dotNet5 App Template Gallery" style="border:0px currentcolor;border-image:none;display:inline;background-image:none;" alt="dotNet5 App Template Gallery" src="https://community.devexpress.com/blogs/ctodx/dotNet5-App-Template-Gallery_thumb_456C4AFE.png" width="640" height="383" border="0"&gt;&lt;/a&gt;&lt;br&gt;.NET 5 Application Template Gallery&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;a href="https://community.devexpress.com/blogs/ctodx/dotNET5-Data-Grid-Designer_52662B0F.png"&gt;&lt;img title="dotNET5 Data Grid Designer" style="border:0px currentcolor;border-image:none;display:inline;background-image:none;" alt="dotNET5 Data Grid Designer" src="https://community.devexpress.com/blogs/ctodx/dotNET5-Data-Grid-Designer_thumb_0223D38F.png" width="640" height="367" border="0"&gt;&lt;/a&gt;&lt;br&gt;.NET 5 Data Grid Designer&lt;/i&gt;&lt;/p&gt;&lt;h2&gt;Limitations (unfortunately, there are some)&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, this package is only compatible with .NET 5 and does not offer design-time support for the older .NET Core 3.1 iteration. &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;, and perhaps most important, the design-time tools that rely upon Microsoft’s data source binding engine remain non-functional. This limitation cannot be sugar-coated. Without data source binding, you will not be able to create a new fully functional WinForms apps with our .NET Core designer. Yes, you will be able to construct your forms and customize UI controls as needs dictate, but you will not be able to create or assign a data source to your data-driven UI controls. This also means that you cannot auto-generate a user interface based on data (auto-generate columns, etc). To do this, you will still need to use .NET Framework 4.8.&lt;/p&gt;&lt;p&gt;Though we have tried our best to address this limitation, we have yet to find a reasonable workaround. We will continue to explore options in this regard and if we are able to address this matter independently from Microsoft, we will certainly share that information with all of you. &lt;/p&gt;&lt;p&gt;Note: This limitation does not apply to UI controls already bound to data (bound controls can be designed within the IDE). &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Third&lt;/strong&gt;, design-time docking is not yet functional: we have yet to rewrite the “docking-related” design-time code for .NET Core. Once we do, .NET Core design-time docking functionality will mirror its standard counterpart. &lt;/p&gt;&lt;h2&gt;&lt;b&gt;Getting Started&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;We have migrated all of our demos to .NET 5. You can now open any demo within Visual Studio (remember: v16.10 or later) and explore the capabilities of our .NET 5 design time.&lt;/p&gt;&lt;h2&gt;&lt;b&gt;The Future&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;As you can imagine, our new .NET Core Designer remains a work in progress. We cannot address all outstanding issues overnight – and some, like data-binding, may be impossible to work around – but we are working hard to address those matters that are under our direct control. &lt;/p&gt;&lt;h2&gt;&lt;b&gt;Your Feedback Matters&lt;/b&gt;&lt;/h2&gt;&lt;p&gt;As always, we welcome your feedback and look forward to your suggestions. If you encounter an issue with our new .NET Core design-time experience, please submit a support ticket via the DevExpress Support Center. We will be more than happy to follow-up. &lt;/p&gt;</description>
      <pubDate>Wed, 30 Jun 2021 14:00:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:385861</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2021/06/10/devextreme-and-related-products-end-of-support-for-internet-explorer-11.aspx</link>
      <category domain="https://community.devexpress.com/Tags/DevExtreme">DevExtreme</category>
      <category domain="https://community.devexpress.com/Tags/IE11">IE11</category>
      <title>DevExtreme and related products: End of support for Internet Explorer 11</title>
      <description>&lt;p&gt;After a lot of internal discussions over the past year, we have come to the decision to end support for Internet Explorer 11 (IE 11) with the next major update of DevExtreme and all related or dependent products. This will be version v21.2, which is due October/November 2021.&lt;/p&gt;&lt;p&gt;The following subsets of the DevExpress product line will be affected:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;DevExtreme v21.2+&lt;/strong&gt;, the entire product line:  &lt;/p&gt;&lt;ul&gt; &lt;li&gt;DevExtreme for JQuery&lt;/li&gt; &lt;li&gt;DevExtreme for Angular&lt;/li&gt; &lt;li&gt;DevExtreme for React&lt;/li&gt; &lt;li&gt;DevExtreme for Vue&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;XAF ASP.NET Web Forms UI v21.2+&lt;/strong&gt;, especially: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Maps Module&lt;/li&gt; &lt;li&gt;Dashboards Module&lt;/li&gt; &lt;li&gt;Office Module&lt;/li&gt; &lt;li&gt;Reports V2 Module&lt;/li&gt; &lt;li&gt;ShowViewStrategyBase.ShowMessage (this uses dxToast internally)&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;ASP.NET components v21.2+&lt;/strong&gt;, notably: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;All ASP.NET Core components that are based on client-side DevExtreme components&lt;/li&gt; &lt;li&gt;All ASP.NET MVC components that are based on client-side DevExtreme components&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Dashboards v21.2+&lt;/strong&gt;, pretty much across the board with regard to the web: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Dashboard for Web Forms&lt;/li&gt; &lt;li&gt;Dashboard for MVC&lt;/li&gt; &lt;li&gt;Dashboard for ASP.NET Core&lt;/li&gt; &lt;li&gt;Dashboard for Angular&lt;/li&gt; &lt;li&gt;Dashboard for React&lt;/li&gt; &lt;li&gt;Dashboard for Vue&lt;/li&gt; &lt;li&gt;Dashboard for JavaScript&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Reports v21.2+&lt;/strong&gt;, primarily: &lt;/p&gt;&lt;ul&gt; &lt;li&gt;Web Document Viewer&lt;/li&gt; &lt;li&gt;Web Report Designer&lt;/li&gt; &lt;li&gt;Web Query Builder&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;I emphasize that the decision to end IE 11 support was not made easily – we know that some of our customers do rely on IE 11 and will be adversely affected by this decision. Unfortunately, we can no longer delay the inevitable.&amp;nbsp; At present, we are forced to maintain a good deal of IE 11 specific code (be it HTML, CSS, or JavaScript), let alone considering the amount of testing particular to IE 11 we have to do before releasing a new version. By ending this support, we will be better able to focus our energies on the modern web and maximize the long-term potential of our JavaScript product line.&lt;/p&gt;&lt;p&gt;For those of you who cannot abandon IE 11 (and are understandably dismayed by this announcement), please remember that you can continue to use v21.1 as long as necessary. &lt;/p&gt;&lt;p&gt;Before ending, I’d like to point to a couple of interesting facts that helped us make this decision.&lt;/p&gt;&lt;p&gt;&lt;a title="Blog post: Microsoft 365 apps will no longer support IE 11" href="https://techcommunity.microsoft.com/t5/microsoft-365-blog/microsoft-365-apps-say-farewell-to-internet-explorer-11-and/ba-p/1591666"&gt;Microsoft 365 Apps Say Farewell to Internet Explorer 11&lt;/a&gt;: As of August 17, 2021, Microsoft 365 apps will no longer support Internet Explorer 11. &lt;/p&gt;&lt;p&gt;&lt;em&gt;“Customers have been using IE 11 since 2013 when the online environment was much less sophisticated than the landscape today. Since then, open web standards and newer browsers—like the new Microsoft Edge—have enabled better, more innovative online experiences.”&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-202003-202103-bar"&gt;Worldwide Desktop Browser Usage Statistics&lt;/a&gt;: At present, IE 11 accounts for less than 3% of desktop market share (which drops to less than 0.2% when mobile browsers are included). &lt;/p&gt;&lt;p&gt;&lt;a href="https://community.devexpress.com/blogs/ctodx/StatCounter-browser-ww-monthly-202003-202103-bar_6170233A.png"&gt;&lt;img title="StatCounter-browser-ww-monthly-202003-202103-bar" style="border:0px currentcolor;border-image:none;display:inline;background-image:none;" alt="StatCounter-browser-ww-monthly-202003-202103-bar" src="https://community.devexpress.com/blogs/ctodx/StatCounter-browser-ww-monthly-202003-202103-bar_thumb_7112BEFC.png" width="640" height="360" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;Your Feedback Matters&lt;/h2&gt;&lt;p&gt;While we feel that we cannot delay this decision any longer, we do want to hear from those who will be affected by our decision to end IE 11 support. Either post your comments below, or submit a support ticket via the DevExpress Support Center.&lt;/p&gt;</description>
      <pubDate>Thu, 10 Jun 2021 09:30:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:385184</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2020/12/02/fmx-grid-future-plans.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Delphi">Delphi</category>
      <category domain="https://community.devexpress.com/Tags/FMX">FMX</category>
      <title>FMX Grid: future plans</title>
      <description>&lt;p&gt;A couple of weeks ago, we published the latest release of the &lt;a href="https://www.devexpress.com/products/vcl/" target="_blank"&gt;DevExpress VCL Subscription&lt;/a&gt;, v20.2. Now that the Thanksgiving break is over, it&amp;#39;s time to talk about what we plan for FireMonkey. I&amp;#39;m afraid that it&amp;#39;s not the best of news: we have decided to put our FMX development on hold and not enhance the grid beta any further. There are several reasons for this decision.&lt;/p&gt;&lt;p&gt;1. After some three years of experimentation and development with FireMonkey, we have come to the conclusion that it is too slow for the depth of functionality and the type of controls for which we&amp;#39;re recognized. Actually, this is something we&amp;#39;ve encountered before with C# and Xamarin Forms: we had to concede that the only way we could develop useful controls for that framework was to write them natively. In essence, we write them twice: once for iOS with Objective-C, and once for Android with Java, and then create a &amp;quot;simple&amp;quot; Xamarin Forms wrapper to expose their functionality to the C# developer. We found it was the only viable way we could produce the user experience and performance for our controls that our customers expect. Of course, as you can surmise, it’s over twice the usual work and effort to produce a useable control. With regard to our Delphi customer base, we and the team would rather concentrate on producing the best-in-class VCL controls – witness the newly released beta of the Gantt control as an example.&lt;/p&gt;&lt;p&gt;2. Another reason, perhaps less paramount, is that the FireMonkey framework, the API if you like, is still not extensive or detailed enough for the depth of functionality we and our customers assume from our 22 years of using and capitalizing on the VCL framework. We keep on running into functionality roadblocks that require us to write extensions to the base FMX library.&lt;/p&gt;&lt;p&gt;3. Finally, and I&amp;#39;d have to say this is a little disappointing, we just didn&amp;#39;t get the level of interest or feedback from our customers that we were projecting. Perhaps this was due to the fact that the grid and editors beta we released wasn&amp;#39;t extensive enough that people were ready to try it out and provide feedback on the functionality, or maybe there just isn&amp;#39;t enough interest in FireMonkey for, say, MacOS, and hence our desktop viewpoint didn&amp;#39;t match expectations. Again, this leads us to believe that our customer base would prefer more and better VCL controls rather than splitting the team into two to provide FMX controls as well.&lt;/p&gt;&lt;p&gt;The current beta of our FireMonkey grid suite will remain available as a free download for VCL Subscription customers from the Download Center. As of this point in time, we have no plans to add any further documentation or enhancements. &lt;/p&gt;&lt;p&gt;If you have feedback about this decision or wish to discuss it, do please email me at &lt;a&gt;julianb@devexpress.com&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Wed, 02 Dec 2020 15:15:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:385156</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2020/11/22/devexpress-vcl-subscription-v20-2-released.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Delphi">Delphi</category>
      <category domain="https://community.devexpress.com/Tags/Featured">Featured</category>
      <category domain="https://community.devexpress.com/Tags/RAD+Studio">RAD Studio</category>
      <category domain="https://community.devexpress.com/Tags/v20.2">v20.2</category>
      <category domain="https://community.devexpress.com/Tags/VCL">VCL</category>
      <title>DevExpress VCL Subscription v20.2 released</title>
      <description>&lt;p&gt;Without a doubt, this is a difficult time for all of us. If you or your business has been impacted by the pandemic, please contact us and let us know how we can help.&lt;/p&gt;&lt;p&gt;Despite having to get used to remote working and virtual meetings, our Delphi team have managed to provide you some great new features and enhancements in the new version, and I am pleased to announce the immediate availability of &lt;a href="https://www.devexpress.com/products/vcl/" target="_blank"&gt;DevExpress VCL Subscription&lt;/a&gt; v20.2, our suite of controls for building effective Windows apps with RAD Studio, using either Delphi or C++Builder. &lt;/p&gt;&lt;p&gt;This release ships with numerous new features including: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;the beta for a new Gantt control&lt;/li&gt;&lt;li&gt;replacements for the standard (yes, and boring!) open/save file dialogs that use your selected theme&lt;/li&gt;&lt;li&gt;various UX enhancements, including smooth scrolling in various controls, and padding for our in-place editors&lt;/li&gt;&lt;li&gt;a new display style for Filter Criteria in our grid, treelist, and vertical grid controls&lt;/li&gt;&lt;li&gt;…and much more&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For a complete list of what’s new in this v20.2 release, please &lt;a href="https://www.devexpress.com/subscriptions/new-2020-2.xml"&gt;go to this page&lt;/a&gt;, and select the VCL link. Even easier, you can always navigate to &lt;a href="https://devexpress.com/new"&gt;devexpress.com/new&lt;/a&gt; and see what’s new in the latest version, whichever version number that happens to be.&lt;/p&gt;&lt;p&gt;As usual, we’ve listed the &lt;a href="https://supportcenter.devexpress.com/versionhistory"&gt;Resolved Issues&lt;/a&gt; introduced in this release (follow that link to the version history page, make sure you clear any filters that may be set, and then select VCL, as well as “Resolved Issues”). That page also enables you to review the changes we’ve made from any release to any other.&lt;/p&gt;&lt;p&gt;For every major release, no matter how hard we try and minimize the impact, some new features and enhancements are bound to cause a few breaking changes. You can see those from that same version history page: just select “Breaking Changes” instead.&lt;/p&gt;&lt;p&gt;I pretty much say something like this with every major release: we would not be able to produce and release such robust and full-featured controls, features, and enhancements without the invaluable help of our customers. By reviewing comments and support tickets, and contacting customers directly, we find that we can more easily focus on providing what our customers want from our products going forward. Also, we’ve been concentrating on publishing relevant posts on what we are doing, posts detailing various tips and tricks, and posts on how we aim to move forward. My strong recommendation is to monitor our community site for these helpful posts. &lt;/p&gt;&lt;p&gt;I’d like to thank everyone who provided feedback on our products throughout this year, who used and tested the v20.2 beta we produced and provided information on the issues they found, and, of course, to all our customers who use our products every day in their applications. We are confident that the new features and enhancements in v20.2 will strengthen and validate your trust in our products. Thank you, it is much appreciated.&lt;/p&gt;</description>
      <pubDate>Sun, 22 Nov 2020 19:00:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:385126</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2020/11/16/delphicon-2020-kicks-off-tomorrow.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Delphi">Delphi</category>
      <title>DelphiCon 2020 kicks off tomorrow!</title>
      <description>&lt;p&gt;&lt;a href="https://community.devexpress.com/blogs/ctodx/DelphiCon-2020_Header-text-fade_023C17E1.png"&gt;&lt;img title="DelphiCon-2020_Header-text-fade" style="border:0px currentcolor;border-image:none;display:inline;background-image:none;" alt="DelphiCon-2020_Header-text-fade" src="https://community.devexpress.com/blogs/ctodx/DelphiCon-2020_Header-text-fade_thumb_4D9E4C56.png" width="640" height="152" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Just a quick reminder if you’re a Delphi developer: Embarcadero’s virtual &lt;a title="Homepage for DelphiCon 2020" href="https://delphicon.embarcadero.com"&gt;DelphiCon 2020 conference&lt;/a&gt; starts tomorrow, November 17, and runs until the 19th. It’ll be well worth your registering for the three days – I already have – since I’m going to bet you will learn something new that you could immediately apply in your current development work. There are some excellent speakers lined up (some of whom I’ve known for a little while shall we say, although that “John Hodges” character sounds way dubious!), with some really interesting topics in the mix. &lt;/p&gt;&lt;p&gt;My personal selection for sure: &lt;em&gt;Functional Programming With Delphi&lt;/em&gt; by Nick^H^H^H^HJohn Hodges, &lt;em&gt;High Performance Delphi&lt;/em&gt; by Primož Gabrijelčič, &lt;em&gt;Leveraging High DPI in VCL Applications&lt;/em&gt; by Ray Konopka, and &lt;em&gt;Code Faster in Delphi&lt;/em&gt; by Alister Christie.&lt;/p&gt;&lt;p&gt;See you online!&lt;/p&gt;</description>
      <pubDate>Mon, 16 Nov 2020 12:30:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:385097</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2020/11/11/design-time-support-for-devexpress-winforms-controls-for-net-5.aspx</link>
      <category domain="https://community.devexpress.com/Tags/.NET+5">.NET 5</category>
      <category domain="https://community.devexpress.com/Tags/.NET+Core">.NET Core</category>
      <category domain="https://community.devexpress.com/Tags/Featured">Featured</category>
      <category domain="https://community.devexpress.com/Tags/WinForms">WinForms</category>
      <title>Design-Time Support for DevExpress WinForms Controls for .NET 5</title>
      <description>&lt;p&gt;***&lt;strong&gt;UPDATE&lt;/strong&gt;*** For the latest news about the Visual Studio WinForms Designer supporting our controls with .NET 5, please see this FAQ in our Support Center: &lt;a href="https://supportcenter.devexpress.com/ticket/details/t979482/design-time-support-for-devexpress-winforms-controls-for-net-5-faq/" title="Up-to-date FAQ"&gt;Design-Time Support for DevExpress WinForms Controls for .NET 5 - FAQ&lt;/a&gt;. We shall be updating this FAQ page as and when we get more information.&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Back in July this year, I announced that DevExpress controls had been enhanced such that they &lt;a title="Blog post: Announcing DevExpress Support for .NET 5 Preview" href="https://community.devexpress.com/blogs/ctodx/archive/2020/07/17/announcing-devexpress-support-for-net-5-preview.aspx"&gt;supported the latest .NET 5 Preview&lt;/a&gt;. However, I did warn that, although we’d been working hard to ensure that our WinForms controls were compatible with .NET 5, it was a different story with regard to the designer support in Visual Studio. Now that .NET 5 has been officially released along with Visual Studio 2019 v16.8, it is time to talk about what to expect from design-time tools using DevExpress WinForms v20.2.&lt;/p&gt;&lt;h2&gt;The Good News (yes, unfortunately, some bad news will follow)&lt;/h2&gt;&lt;p&gt;While the WinForms platform has yet to fully address important design-time issues, Microsoft has made good progress for those considering .NET 5. For example, you can call up smart tag menus for a control...&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/dk-20.2-personal/win_designer-1560.png" alt="Smart tag menu" style="width:780px;"&gt;&lt;/p&gt;

&lt;p&gt;...use the control designers...&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/dk-20.2-personal/win_dialog-1560.png" alt="Grid control designer" style="width:780px;"&gt;&lt;/p&gt;

&lt;p&gt;...and utilize the stand-alone designer dialogs for to set complex properties, such as the Mask Settings dialog for our recently overhauled &lt;a href="https://www.devexpress.com/subscriptions/new-2020-2.xml#xtraeditors"&gt;editor input masks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/dk-20.2-personal/win_properties-1560.png" alt="Mask settings dialog" style="width:780px;"&gt;&lt;/p&gt;

&lt;h2&gt;Basic operation&lt;/h2&gt;&lt;p&gt;In order to develop a new WinForms app that targets .NET 5 with &lt;a href="https://www.devexpress.com/products/net/controls/winforms/" target="_blank"&gt;DevExpress UI controls&lt;/a&gt;, you should do the following:&lt;/p&gt;&lt;p&gt;1) Install Visual Studio 2019 version 16.9 Preview 1 with the “.NET Core development tools” option checked in the VS Installer.&lt;/p&gt;&lt;p&gt;2) Register the &lt;a title="Early Access NuGet feed for WinForms .NET 5 controls" href="https://nuget.devexpress.com/early-access/api"&gt;special Early Access NuGet feed&lt;/a&gt; as described in this help article: &lt;a href="https://docs.devexpress.com/GeneralInformation/116698/installation/install-devexpress-controls-using-nuget-packages/setup-visual-studios-nuget-package-manager"&gt;Setup Visual Studio&amp;#39;s NuGet Package Manager&lt;/a&gt;. We’re distributing our .NET 5 controls via a separate feed because, as you’ll soon see, Microsoft still has to implement a few details that are crucial for our complete design time support.&lt;/p&gt;&lt;p&gt;Note: at this moment, the NuGet feed is the only way to get the latest DevExpress WinForms controls optimized for .NET 5. DevExpress WinForms v20.2 controls distributed via the classic .NET Core installer available in our Download Manager can also operate under .NET 5, but lack the design-time support. &lt;/p&gt;&lt;p&gt;3) In Visual Studio, make sure your application targets .NET 5.0. Go to “Project | Manage NuGet Packages...”. Select the feed you registered in step #2 and install the pre-release package with the required localization culture. Each package includes all available DevExpress WinForms controls.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/dk-20.2-personal/win_nuget-1560.png" alt="NuGet Package Manager with Localized WinForms packages" style="width:780px;"&gt;&lt;/p&gt;


&lt;p&gt;4) Once the selected package has been installed, you can add DevExpress controls from the Visual Studio toolbox.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://community.devexpress.com/blogs/winforms/dk-20.2-personal/win_toolbox-1000.png" alt="Visual Studio Toolbox with DevExpress controls" style="width:500px;" class="small"&gt;&lt;/p&gt;


&lt;h2&gt;Now the Bad News – Known Issues&lt;/h2&gt;&lt;p&gt;While design-time features/capabilities mentioned above seem to indicate that .NET 5 is ready and usable (it indeed is usable for basic WinForms controls inside Visual Studio), important limitations/issues remain with standard WinForms designer interfaces. These limitations cannot be “worked around” – these issues mean that our sophisticated WinForms controls are not fully supported in the designer at this time. Of course, Microsoft will be enhancing these interfaces in future Visual Studio builds and DevExpress WinForms design-time support will follow. At this time, we don’t have guidance from Microsoft as to when such changes will be ready and so we cannot offer exact release timeframes to our users. Some examples of why we have yet to deliver the best possible design-time experience for .NET 5:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Properties that accept custom structures (for example, &lt;code&gt;DevExpress.Utils.Padding&lt;/code&gt;) as values can appear in the Visual Studio Properties panel. However, any attempt to edit such a property may cause the IDE to crash.&lt;/li&gt;&lt;li&gt;Icons are not supported for controls that appear in the Visual Studio Toolbox. You can see that in the image above.&lt;/li&gt;&lt;li&gt;Custom glyphs cannot be rendered at design time. Our WinForms controls that target the regular .NET Framework utilize such glyphs to indicate bound UI elements, to show a button that invokes the Data Source Configuration Wizard, etc.&lt;/li&gt;&lt;li&gt;Data sources and bindings are not supported in the designer and can only be specified in code.&lt;/li&gt;&lt;li&gt;Some interactive features, such as dragging control elements, are not supported.&lt;/li&gt;&lt;li&gt;Our testing has shown that the process that hosts the WinForms Designer is prone to hanging.&lt;/li&gt;&lt;li&gt;A few other issues exist on the performance side, but we’ll describe such problems at a later time.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;As you may know, DevExpress was the first component vendor to release a commercial WinForms UI control (nearly 20 years ago). Over the years, we’ve created some very sophisticated and intricate designers for our complex WinForms UI controls. We’ve focused resources on the design-time experience because we know it matters. A great design-time experience improves productivity and reduces development costs. This is not hyperbole – it’s a simple fact. &lt;/p&gt;&lt;p&gt;Generally speaking, our WinForms design-time experience is not dependent upon Visual Studio’s standard designer interfaces. Hence, to deliver the same design-time experience for .NET 5 as we do for earlier versions of the .NET Framework would require an uphill climb – one that is simply impossible at this time. We’d have to: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Add smart tag menus for individual control elements (grid columns, tiles, etc).&lt;/li&gt;&lt;li&gt;Create custom wizards, such as the Template Gallery, Data Source Configuration Wizard, Scaffolding Wizard, etc (not yet possible).&lt;/li&gt;&lt;li&gt;Extended smart tags (not yet possible).&lt;/li&gt;&lt;li&gt;Deal with designer dialogs that do not allow you to create event handlers.&lt;/li&gt;&lt;li&gt;Figure out a way to work around a missing Find Panel for Visual Studio properties.&lt;/li&gt;&lt;li&gt;Solve the issue of type conversion for DevExpress Editors.&lt;/li&gt;&lt;li&gt;And sort out what t do about non-operational Assistant components.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Finally there are a few features and controls that are not available in the current version: XPO, reporting, and XtraDialogs. The reason for these missing features is not related to major technical difficulties and will be addressed in future DevExpress releases.&lt;/p&gt;&lt;h2&gt;The Future&lt;/h2&gt;&lt;p&gt;We are excited about the possibilities and we are doing everything we can to bring a great design-time experience to .NET 5. I wish we had better news to share today but we will definitely keep our foot on the gas pedal and figure out what we can do for those of you considering .NET 5.&lt;/p&gt;</description>
      <pubDate>Wed, 11 Nov 2020 12:00:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
      <dx:excerpt>While the WinForms platform has yet to fully address important design-time issues, Microsoft has made good progress for those considering .NET 5. For example, you can call up smart tag menus for a control...</dx:excerpt>
    </item>
    <item>
      <guid isPermaLink="false">bd716303-653c-428d-8b8a-a7d998cde032:384533</guid>
      <link>https://community.devexpress.com/Blogs/ctodx/archive/2020/08/03/layouts-vcl-firemonkey-and-devexpress.aspx</link>
      <category domain="https://community.devexpress.com/Tags/Delphi">Delphi</category>
      <category domain="https://community.devexpress.com/Tags/FireMonkey">FireMonkey</category>
      <category domain="https://community.devexpress.com/Tags/VCL">VCL</category>
      <title>Layouts, VCL, FireMonkey, and … DevExpress!</title>
      <description>&lt;p&gt;Last week I was having a chat with an old “Delphi” friend, &lt;a title="Andrea&amp;#39;s Twitter account" href="https://twitter.com/DeerBear3000"&gt;Andrea Raimondi&lt;/a&gt;, about DevExpress’ recent &lt;a title="Blog post: DevExpress FMX Grid CTP - Available Now" href="https://community.devexpress.com/blogs/vcl/archive/2020/07/22/devexpress-fmx-grid-ctp-available.aspx"&gt;CTP release of our FireMonkey (FMX) grid for RAD Studio&lt;/a&gt;. For some reason he kept on veering away from that to layouts, what they are, and why they are important. After wondering what beer he was drinking, fine, says I, write me a post and I’ll publish it on the DevExpress Community blog site. A couple of hours later, I got The Email. A great discussion on using layouts with the DevExpress VCL Subscription, with a neat follow-up on FMX. Take it away, Andrea!&lt;/p&gt;
&lt;h2&gt;DevExpress Layouts: When you only look at the grid you&amp;#39;re missing out!&lt;/h2&gt;
&lt;h3&gt;Introduction&lt;/h3&gt;
&lt;p&gt;We all know what DevExpress is good at: grids, right? Maybe you know about the editing ones and, the most advanced of you may even know about the pivot grid. Well, if that is what you think, maybe it&amp;#39;s time for you to try the Layout control. The layout control is the only (as far as I know) visible control that disappears at runtime. I know it sounds weird but in a sense that is exactly its purpose: it gives your UI structure while being completely invisible. &lt;/p&gt;
&lt;h3&gt;A small example&lt;/h3&gt;
&lt;p&gt;Let&amp;#39;s create a layout at design time and align it to client.&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image001" alt="clip_image001" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img1.png"&gt;&lt;/p&gt;
&lt;p&gt;Then, let&amp;#39;s add three layout groups:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image002" alt="clip_image002" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img2.png"&gt;&lt;/p&gt;
&lt;p&gt;You get here with a double-click on the control. Now let&amp;#39;s move those onto the actual layout surface by selecting them and dragging and dropping them onto the root one by one (multi-select isn&amp;#39;t supported – &lt;em&gt;noted! Ed.&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;This is what you see then:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image003" alt="clip_image003" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img3.png"&gt;&lt;/p&gt;
&lt;p&gt;This gives you hints as to what it is set up like: it&amp;#39;s flowing vertically and not aligned to client. Which is fine for us because now we are going to change the layout direction and something else will appear, this:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image004" alt="clip_image004" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img4.png"&gt;&lt;/p&gt;
&lt;p&gt;What happened? Let&amp;#39;s align everything to client, shall we? Look:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image005" alt="clip_image005" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img5.png"&gt;&lt;/p&gt;
&lt;p&gt;Tabs. We did this by changing the layout direction, like so:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image006" alt="clip_image006" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img6.png"&gt;&lt;/p&gt;
&lt;p&gt;You get a tabbed view by simply changing a property. We will look at the look and feel later on because we can do some neat stuff with that as well. &lt;/p&gt;
&lt;h3&gt;A simple login screen&lt;/h3&gt;
&lt;p&gt;By today&amp;#39;s standards, we might want a slightly different way to approach a login screen because doing the classic dialog doesn&amp;#39;t really work anymore. You can do that very easily.&lt;/p&gt;
&lt;p&gt;When working with layouts you must reason as though you were working with panels but the trick is that layouts don&amp;#39;t require nearly as many: you can use a layout group everywhere you would otherwise use a panel. &lt;/p&gt;
&lt;p&gt;First of all, we need it centered, therefore we add a layout group to do just that:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image007" alt="clip_image007" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img7.png"&gt;&lt;/p&gt;
&lt;p&gt;Now we need two groups one of which is aligned to the bottom (that&amp;#39;s for the buttons) and another which is aligned to client inside the centered one:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image008" alt="clip_image008" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img8.png"&gt;&lt;/p&gt;
&lt;p&gt;Finally, we add the edits and the buttons &lt;i&gt;with no labels&lt;/i&gt;. Why? Because those are built-in, making label controls redundant in this situation:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image009" alt="clip_image009" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img9.png"&gt;&lt;/p&gt;
&lt;p&gt;It would however look better if the buttons were on the same line and maybe aligned at left and right, like so:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image010" alt="clip_image010" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img10.png"&gt;&lt;/p&gt;
&lt;p&gt;Playing with the LayoutDirection property you can get this effect. &lt;/p&gt;
&lt;p&gt;Do you like all those borders though? I do not, thus let&amp;#39;s change a few ShowBorder properties in the groups and make it slightly slicker:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image011" alt="clip_image011" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img11.png"&gt;&lt;/p&gt;
&lt;p&gt;I have changed all the captions by modifying the &amp;quot;CaptionOptions&amp;quot; property set in both groups and items. To get a better feeling of it, I have also renamed the groups and a few other things:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image012" alt="clip_image012" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img12.png"&gt;&lt;/p&gt;
&lt;p&gt;Naming the layout control as &amp;quot;Layout&amp;quot; is very helpful because then you get everything much more easily recognizable. As you can see I have a very consistent naming convention, which I advise you use as well just to make your life easier. &lt;/p&gt;
&lt;p&gt;Now though, we don&amp;#39;t really want to see those tabs, right? Yeah you can hide them straight up, by doing so:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image013" alt="clip_image013" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img13.png"&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s see how it looks at runtime:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image014" alt="clip_image014" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img14.png"&gt;&lt;/p&gt;
&lt;p&gt;Not bad, huh!? &lt;/p&gt;
&lt;h3&gt;Look and feel&lt;/h3&gt;
&lt;p&gt;But we can do better: let&amp;#39;s add some skinning. Make the project skin aware and add a LookAndFeel controller. Obviously in a real application you would do that on a datamodule, but let&amp;#39;s keep it simple. &lt;/p&gt;
&lt;p&gt;When you have done that, here comes the magic: there is a controller for layouts! &lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image015" alt="clip_image015" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img15.png"&gt;&lt;/p&gt;
&lt;p&gt;To connect the layout to the main controller just double-click on it and add a new item, like so:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image016" alt="clip_image016" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img16.png"&gt;&lt;/p&gt;
&lt;p&gt;To get this, when you click on the plus sign just select &amp;quot;Use LookAndFeel controller&amp;quot;. &lt;/p&gt;
&lt;p&gt;To connect it to the actual layout control, you set this property:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image017" alt="clip_image017" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img17.png"&gt;&lt;/p&gt;
&lt;p&gt;Now let&amp;#39;s change the controller to a skin and run it again:&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image018" alt="clip_image018" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img18.png"&gt;&lt;/p&gt;
&lt;p&gt;Now we&amp;#39;re talking, right?&lt;/p&gt;
&lt;h3&gt;CTP for FireMonkey&lt;/h3&gt;
&lt;p&gt;Here cometh the real giggle though: you can do this &lt;i&gt;very thing &lt;/i&gt;with FireMonkey as well. Unlike the VCL side, however, you need to use FireMonkey styles, but the result is incredibly similar (but not the same, at least for now).&lt;/p&gt;
&lt;p&gt;What is missing at the moment is a tab layout but it&amp;#39;s a CTP so it&amp;#39;s kind of fair. It means you will have to find ways around this issue, and I have a suggestion further down, so keep reading!!!&lt;/p&gt;
&lt;p&gt;Because we have seen the basics of how it works and because there are no major operational differences, I will start with the complete screen and walk you through what changes: first of all, if you want to test this properly you will need to do so on an Android phone. The Windows side doesn&amp;#39;t work all that well for now, but again it&amp;#39;s a CTP so fair enough. &lt;/p&gt;
&lt;p&gt;When you do so – that is, testing on Android – you will get this:&lt;/p&gt;
&lt;p&gt;&lt;a name="_dx_frag_StartFragment"&gt;&lt;/a&gt;&lt;img class="small" title="clip_image019" alt="clip_image019" src="https://community.devexpress.com/blogs/ctodx/clip_image028_361EEB02.jpg"&gt;&lt;/p&gt;
&lt;p&gt;So, how did I do this? &lt;/p&gt;
&lt;p&gt;The basic idea is quite simple: here is the structure view on FMX (with appropriate names):&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image020" alt="clip_image020" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img20.png"&gt;&lt;/p&gt;
&lt;p&gt;Note that there are no buttons and the reason for that relies on how the password button is configured:&lt;/p&gt;
&lt;p&gt;&lt;img class="small" title="clip_image021" alt="clip_image021" src="https://community.devexpress.com/blogs/ctodx/AndreasBlog/Img21.png"&gt;&lt;/p&gt;
&lt;p&gt;By doing so, we spare the need for a button and make the UI lighter and snappier. (Do please note how this UI is incredibly fast!) &lt;/p&gt;
&lt;h3&gt;Advanced layout usage&lt;/h3&gt;
&lt;p&gt;One great thing about layouts is that you can do nearly anything. For example, you can use entire frames as controls. This obviously works both in VCL and in FMX (may I, once more, quietly remind you that this is a CTP, basically DX is still touching it gently, not at full steam!) and it&amp;#39;s stunning. I do absolutely invite and encourage you to try for yourself. I can&amp;#39;t get a picture of it running on my phone because something isn&amp;#39;t working just right and I have no idea if it&amp;#39;s the CTP or RAD Studio 10.4. (&lt;em&gt;I tossed a coin and it came up RAD Studio &lt;/em&gt;&lt;em&gt;! Ed.&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Because of a lack of tabbed layouts, you may need to get creative on FMX (for example by using TFrameStand and switching frames around).&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;By this point, I think I made a compelling argument for you to try using layouts in your app: they are powerful, flexible and work cross-platform. And for FMX this is just a starting point. Oh, just one more thing: this article has been written with the RichEditor sample that comes with the DevExpress VCL Subscription. Yes, seriously. (&lt;em&gt;Score! Ed.&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;&lt;img title="clip_image032" alt="clip_image032" src="https://community.devexpress.com/blogs/ctodx/clip_image032_7032D943.png"&gt;&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Thanks for a great post, Andrea!&lt;/p&gt;</description>
      <pubDate>Mon, 03 Aug 2020 10:45:00 Z</pubDate>
      <dc:creator>Julian Bucknall (DevExpress)</dc:creator>
    </item>
  </channel>
</rss>