我已经完成了可重用的用户控件,在我的项目中使用了几次。
通常主网格的第二行需要比第一行大 7 倍,但在特定情况下,它只需要大 5 倍。
<Grid x:Name="mainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
...
</Grid>
我试图通过 XAML 设置它:
<helperControls:AttachmentsGridControl x:Name="projectAttachmentsControl" ... HeightOfSecondRow="5" />
在 .cs 部分:
public int HeightOfSecondRow { get; set; }
public AttachmentsGridControl()
{
InitializeComponent();
if(HeightOfSecondRow > 0)
this.mainGrid.RowDefinitions[1].Height = new GridLength(HeightOfSecondRow, GridUnitType.Star);
}
但是在调用控件的构造函数时不会传递值。该值需要在调用构造函数时传递,因此我可以指定第二行的高度需要多少并正确渲染。