C# WPF中网格的隐式行定义
在用XAMl设计网格时,我们必须明确地告诉网格中有多少行 假设我们正在创建一个表单类型的应用程序。用户需要在其中填写其信息。有一个标签,然后是一个文本框。这个重复10次C# WPF中网格的隐式行定义,c#,wpf,xaml,wpfdatagrid,C#,Wpf,Xaml,Wpfdatagrid,在用XAMl设计网格时,我们必须明确地告诉网格中有多少行 假设我们正在创建一个表单类型的应用程序。用户需要在其中填写其信息。有一个标签,然后是一个文本框。这个重复10次 <Label Content="Name" /> <TextBox Text={Binding SomethingText"} /> 改为创建一个UserControl,并在StackPanel或Dockpanel中重复它: <UserControl ...> <Grid&g
<Label Content="Name" />
<TextBox Text={Binding SomethingText"} />
改为创建一个UserControl
,并在StackPanel
或Dockpanel
中重复它:
<UserControl ...>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label x:Name="label" Grid.Row="0" Grid.Column="0"/>
<TextBox x:Name="textBox" Grid.Row="0" Grid.Column="1"/>
</Grid>
</UserControl>
<DockPanel>
<c:YourUserControl DockPanel.Dock="Top" Label="Name" Value="{Binding SomethingText}"/>
<c:YourUserControl DockPanel.Dock="Top" Label="Address" Value="{Binding SomeText}"/>
</DockPanel>
<StackPanel>
<c:YourUserControl Label="Name" Value="{Binding SomethingText}"/>
<c:YourUserControl Label="Address" Value="{Binding SomeText}"/>
</StackPanel>
或堆叠面板
:
<UserControl ...>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Label x:Name="label" Grid.Row="0" Grid.Column="0"/>
<TextBox x:Name="textBox" Grid.Row="0" Grid.Column="1"/>
</Grid>
</UserControl>
<DockPanel>
<c:YourUserControl DockPanel.Dock="Top" Label="Name" Value="{Binding SomethingText}"/>
<c:YourUserControl DockPanel.Dock="Top" Label="Address" Value="{Binding SomeText}"/>
</DockPanel>
<StackPanel>
<c:YourUserControl Label="Name" Value="{Binding SomethingText}"/>
<c:YourUserControl Label="Address" Value="{Binding SomeText}"/>
</StackPanel>
由于您总是使用相同的控件,创建一个UserControl
并在DockPanel
或StackPanel
中重复它不是更好吗?这是什么意思?我会给您一个答案。但如果您希望第一列的宽度与内容大小相适应,它可能会不同步。