In .NET Framework WPF there was an option to render Text in Display mode, which means beautiful pixels without Cleartype artifacts that you would get when randering with Ideal mode.
How can you render readable text with WPF in Core 3.1? There is no rendering option anymore.
The property TextOptions.TextFormattingMode="Display" is still there. But it was/is missing in the VS 2019 Property Window of the WPF editor. Adding it by hand works.
We have slowly been creating UI Automation tests using Ranorex on our product but have ran into several problems.
We are using Telerik Wpf controls (TabControl, TreeView, Grid and Docking) and so far we've only been able to test the TreeView and Grid using Ranorex. We replaced the TabControl for the standard Wpf TabControl which works with Ranorex. However the Docking control does not work and of course there is no standard out of the box Wpf Docking control for us to use instead.
My question is this: Does anybody know of any Wpf Docking controls that can be tested using an UI Automation tool (preferably Ranorex)?
I found AvalonDock, which at first looked promising, but according to this thread on their site it doesn't support UI Automation :(
Cheers for any comments,
Siy
As of now, Telerik has their own product that supports UI automation for WPF - Telerik Test Studio - including RadDocking control.
I have experience in WPF and Windows Forms, however have only used the Windows Forms DataGridView and not the WPF DataGrid (which was only included in .Net 4 or could be added to .Net 3.5 from Codeplex, I understand). I am about to devlop an app using one of these controls heavily for large amounts of data and have read performance is an issue with the WPF DataGrid so I may stick to the Windows Forms DataGridView.. Is this the case?
I do not want to use a 3rd party control.
Does the Windows Forms DataGridView offer significant performance over the WPF DataGrid for large amounts of data?
If I were to use WPF I would prefer to use .Net 3.5S SP1, unless the DataGrid in the .Net 4 is significantly better?
Also I want to use ADO with DataTable's which I feel is better suited to Windows Forms..
For your needs, unless you have other requirements that steer you towards WPF, I would recommend the WinForms DataGridView.
The WPF DataGrid was made available via Codeplex, as an 'out of band' release, i.e. these are control that will eventually make their way into the WPF APIs, but are released on codeplex early so that we can benefit from them before the next major .NET release. You can use either the .NET 4.0 or codeplex DataGrid. As far as I know they are one and the same. The WPF DataGrid plays quite nicely with DataTables. See the examples in my following article:
http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx
However, the WPF framework and visuals are slightly more heavyweight than WinForms. Also, the WinForms DataGridView is very mature.
For very large datasets, the WinForms DataGridView has one feature that is not present in the WPF DataGrid, which is vital for very large grids (millions of rows), this is a virtual mode:
http://msdn.microsoft.com/en-us/library/ms171622.aspx
Known also as Data-Virtualization. In this mode, you tell the grid how many rows there are in your data, then handle events to populate the cells. This scales very well. I have used this for massive and complex grids.
WPF has UI virtualization which is a form of UI control recycling, but not data virtualization.
Hope that helps.
For any beginners (like me) making this decision, WindowsForms is tremendously easier to use. Of course, there are a lot of other reasons to use WPF that might influence your decision, but if your project is primarily a DataGrid, then WinForms is the way to go.
You can use a DataGrid WPF as a DataGridView if you at first fill ItemsSource of the DataGrid .
MyDataGrid.ItemsSource = MySource;
MyDataGrid.Columns[0].Width = 300;
MyDataGrid.Columns[0].Header = "MyName";
Check Xceed datagrid for WPF which is way better than WPF DataGrid but that is 3rdparty but worth it.
WPF DataGrid much more faster, I think. But when I try to use WPF DataGrid for big amount of data (a lot of columns (about 40-50) and rows) with styles it working slow (horizontal scrolling). DataGrid from 3rd party controls working much better (I use Infragistics XamDataGrid).
Is there a DataGrid component that behaves the same in WPF and Silverlight? There are some small differences in DataGrids from MS (WPF and Silverlight Toolkits). For example, while WPF version has CanUserAddRows property, Silverlight version does not.
I gave up - there nothing like that so I have to care about differences in the code by myself.
Edit: Most of the differences can be handled by styles - simply create one DataGrid style for WPF and one for Silverlight.
I have ReportViewer winForms control for showing Microsoft Reports in my WPF application hosted over WindowsFormsIntegration.
When the MouseDown event of my textBlock triggers, I would like it to fade lets say from 0 to 100 visability, like some other elements in my Window. It doesn't, so I was wondering is it the same for all hosted controls or this one specific and how can it be solved?
Regards,
Ivan
The WindowsFormsHost supports Transparency. But some WinForms Controls do not.
See the Supported Scenarios in Windows Presentation Foundation and Windows Forms Interoperation article on MSDN. Especially the first row in the "Behaviour" table:
Some Windows Forms controls do not
support transparency. For example, the
TextBox and ComboBox controls will not
be transparent when hosted by WPF.