每当有人要求我提供输入值的界面时,我发现自己创建了包含大量行和列的网格。试图寻找这个问题的答案,但发现很难
<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
<Grid.Resources>
<Style TargetType="RowDefinition">
<Setter Property="Height" Value="25"/>
</Style>
<Style TargetType="TextBox">
<Setter Property="Margin" Value="2"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="150"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0">Input 1</TextBlock>
<TextBox Grid.Row="0" Grid.Column="1"></TextBox>
<TextBlock Grid.Row="1" Grid.Column="0">Input 2</TextBlock>
<TextBox Grid.Row="1" Grid.Column="1"></TextBox>
</Grid>
我们想到的问题是,是否有任何性能方面的考虑,或者是否有其他方法无需使用行号和列号来维护属性。
讨论了使用标签和输入创建自定义控件的选项here,但这会带来更多开销。
创建布局似乎有点重复,这让我想知道是否有一个完全相同的工具。
这是最佳的做法吗?如果没有,为什么以及如何做?