wpf - 如何使用网格或其他控件在 WPF 中布局表单以实现可维护性

标签 wpf forms layout grid

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

去年关闭。




Improve this question




我有一个 WPF 表单,我想在它上面布置一个标准表单。每个表单元素都有一个标签,然后是一个控件。很标准的东西。

如果我使用环绕面板,它会导致标签和控件分离,但我希望它们保持在一起。是否有一些 WPF 等效于 <nobr/> ?

网格可以工作,并允许跨列等,但是我真的很讨厌您在每个控件上指定列和行。这使得在列表中重新排序或插入内容非常不方便。

有没有办法让网格使用更多 HTML 样式的列/行,其中项目是它们所在行的子项,以便我可以轻松重新排序?

是否有其他控件可以让我轻松布局表单?

最佳答案

is there some WPF equivalent of nobr?



请记住,您可以嵌套面板:
<WrapPanel Orientation="Horizontal">
   <StackPanel Orientation="Horizontal">
      <Label>Some field</Label>
      <TextBox>Some value</TextBox>
   </StackPanel>
   <StackPanel Orientation="Horizontal">
      <Label>Another field</Label>
      <TextBox>Another value</TextBox>
   </StackPanel>
   ...
</WrapPanel>

此外,对于柱状布局,Grid 的共享大小范围可以协调使用它的任意数量的网格:
<StackPanel Orientation="Vertical" Grid.IsSharedSizeScope="True">
   <Grid>
      <Grid.ColumnDefinitions>
         <ColumnDefinition Width="Auto" SharedSizeGroup="Label"/>
         <ColumnDefinition Width="*"/>
      </Grid.ColumnDefinitions>
      <Label Grid.Column="0">Some field</Label>
      <TextBox Grid.Column="1">Some value</TextBox>
   </Grid>
   <Grid>
      <Grid.ColumnDefinitions>
         <ColumnDefinition Width="Auto" SharedSizeGroup="Label"/>
         <ColumnDefinition Width="*"/>
      </Grid.ColumnDefinitions>
      <Label Grid.Column="0">Another field</Label>
      <TextBox Grid.Column="1">Another value</TextBox>
   </Grid>
</StackPanel>

我有点讨厌 XAML 的冗长,尤其是您必须重复列定义。但是,如果您正确地构建类并使用模板,它就不会那么糟糕。请注意,您不会在此方案中的任何地方跟踪行号,因此重新排序字段很简单。

关于wpf - 如何使用网格或其他控件在 WPF 中布局表单以实现可维护性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399234/

相关文章:

c# - WPF webbrowser anchor onclick 事件 c#

javascript - 在提交表单之前使用 ajax 验证字段

javascript - 如何防止调整大小的动画 (javascript) 弄乱我的 (css) "float"布局?

javascript - 是什么阻止我的验证函数在表单为空时不运行?

php - javascript 验证未激活可能是由于 HTML 表单上的 php 邮件程序

angularjs - 如何在布局内水平滚动= Angular Material 中的行

java - 我怎样才能让我的 cardLayout 工作?

c# - 如何在 Windows Phone 上优化带有图像的长列表选择器的性能?

c# - Wpf 渐变等效于 css 渐变

c# - 系统参数异常 : 'Value' property was already registered by 'Point'