优化更新代码,添加界面功能并整合
This commit is contained in:
40
WPFluent/Controls/GridView/GridViewRowPresenter.cs
Normal file
40
WPFluent/Controls/GridView/GridViewRowPresenter.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
|
||||
|
||||
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user