我正在使用C#开发WPF应用程序。网格将应用程序划分为2列。在左栏中我放置了一个DataGrid,在右栏中我有一个Image。图像具有选项Stretch="Uniform"
,因此如果主窗口的大小发生变化,则采用其高度来最佳地填充网格列,保持其纵横比。图像必须在列中垂直居中。
因此,上述设置会在图像顶部形成白色/空白边框。我想将左列中dataGrid的顶部与右列中自动缩放图像的顶部对齐。因此,我必须以某种方式将图像距离从顶部边界的数据绑定到距顶部边界的数据网格距离。
答案 0 :(得分:0)
你可能只需要设置VerticalAlignment =" Top"在网格面板中的元素。示例如下:
<Grid>
<Grid VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0"
VerticalAlignment="Top"
MaxWidth="100"
Source="https://www.google.com/images/srpr/logo11w.png"></Image>
<DataGrid Grid.Column="1"
Margin="10 0 0 0"
VerticalAlignment="Top">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1"/>
<DataGridTextColumn Header="Column2"/>
<DataGridTextColumn Header="Column3"/>
<DataGridTextColumn Header="Column4"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>