【发布时间】:2017-09-07 21:42:54
【问题描述】:
我已经敲了几个小时,试图弄清楚如何让我的文本块和文本框在 Wrappanel 中对齐。我已经尝试了可以在 stackoverflow 上找到的所有内容,但事实是在我的第一个 WPF 应用程序中,我很难弄清楚。
这篇文章详细描述了我想要实现的目标,但我无法使用此处概述的步骤使其工作:http://badecho.com/2012/07/wpf-grid-like-wrappanels/
这是我目前所拥有的:
<TabControl HorizontalAlignment="Left"
Margin="10,150,0,10"
VerticalAlignment="Top">
<TabItem Header="Repairs">
<Grid Margin="0,0,10,0">
<WrapPanel Grid.IsSharedSizeScope="True" Orientation="Horizontal" Margin="0,10,10,10">
<TextBlock TextWrapping="WrapWithOverflow" Margin="20, 5, 0, 20">
Regular Paid Hours
</TextBlock>
<TextBox Margin="20, 0, 10, 20" Width="45"></TextBox>
<TextBlock TextWrapping="WrapWithOverflow" Margin="20, 5, 0, 20">
Overtime Hours
</TextBlock>
<TextBox Margin="20, 0, 10, 20" Width="45"></TextBox>
<TextBlock TextWrapping="WrapWithOverflow" Margin="20, 5, 0, 20">
Repair Labor
</TextBlock>
<TextBox Margin="20, 0, 10, 20" Width="45"></TextBox>\
<!-- There are a lot more -->
</WrapPanel>
<DataGrid AutoGenerateColumns="False" ColumnHeaderStyle="{StaticResource lowCase}" Margin="20,180,10,70" Name="dtGrid" HorizontalAlignment="Left" CanUserResizeRows="False" ItemsSource="{Binding}" VerticalAlignment="Top" GridLinesVisibility="All">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Path=Location}" Header="Location"/>
<DataGridTextColumn Binding="{Binding Path=Date, StringFormat ='MM-dd-yy'}" Header="Date"/>
<DataGridTextColumn Binding="{Binding Path=RegularPaidHours}" Header="Regular Repair Hours"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
我想要实现的目标:调整窗口大小时应该对齐文本框,并且数据网格应该向下移动以适合所有文本块和文本框。我错过了什么?
有人可以给我一个愚蠢的解决方案吗?如果有一个简单的修复方法,我将不胜感激。
【问题讨论】: