Files
Shrlalgo.RvKits/WPFluent/Controls/GridView/GridViewRowPresenter.cs

41 lines
1.2 KiB
C#

// ReSharper disable once CheckNamespace
namespace WPFluent.Controls;
/// <summary>
/// Extends <see cref="System.Windows.Controls.GridViewRowPresenter"/>, and adds header row layout support for <see
/// cref="GridViewColumn"/>, which can have <see cref="GridViewColumn.MinWidth"/> and <see
/// cref="GridViewColumn.MaxWidth"/>.
/// </summary>
public class GridViewRowPresenter : System.Windows.Controls.GridViewRowPresenter
{
protected override Size ArrangeOverride(Size arrangeSize)
{
// update the desired width of each column (clamps desiredwidth to MinWidth and MaxWidth)
if(Columns != null)
{
foreach(GridViewColumn column in Columns.OfType<GridViewColumn>())
{
column.UpdateDesiredWidth();
}
}
return base.ArrangeOverride(arrangeSize);
}
protected override Size MeasureOverride(Size constraint)
{
if(Columns != null)
{
foreach(GridViewColumn column in Columns.OfType<GridViewColumn>())
{
column.UpdateDesiredWidth();
}
}
return base.MeasureOverride(constraint);
}
}