Browse Source

DataGridColumn - fix LayoutRoundedWidth with DPI scaling applied

pull/6860/head
Lubomir Tetak 4 years ago
parent
commit
424ddb0463
  1. 7
      src/Avalonia.Controls.DataGrid/DataGridColumn.cs

7
src/Avalonia.Controls.DataGrid/DataGridColumn.cs

@ -13,6 +13,7 @@ using System.ComponentModel;
using System.Linq;
using System.Diagnostics;
using Avalonia.Controls.Utils;
using Avalonia.Layout;
using Avalonia.Markup.Xaml.MarkupExtensions;
namespace Avalonia.Controls
@ -834,9 +835,9 @@ namespace Avalonia.Controls
{
if (OwningGrid != null && OwningGrid.UseLayoutRounding)
{
double roundedLeftEdge = Math.Floor(leftEdge + 0.5);
double roundedRightEdge = Math.Floor(leftEdge + ActualWidth + 0.5);
LayoutRoundedWidth = roundedRightEdge - roundedLeftEdge;
var scale = LayoutHelper.GetLayoutScale(HeaderCell);
var roundSize = LayoutHelper.RoundLayoutSize(new Size(leftEdge + ActualWidth, 1), scale, scale);
LayoutRoundedWidth = roundSize.Width - leftEdge;
}
else
{

Loading…
Cancel
Save