3
我有一个2行2列的网格。 在0,0我有一个TextBlock的一些文字,可以改变由于本地化,在1,0我有一个图像。在WPF中适合网格单元大小的图像
下面是示例XAML:
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="Tb" Grid.Row="0" Grid.Column="0">Foobar</TextBlock>
<Image Source="Foobar.jpg" Grid.Row="1" Grid.Column="0" />
</Grid>
</Window>
用作源的图像元素的图像的尺寸是未知的。
我需要网格列#0与TextBlock文本一样宽。图像应与列一样宽,并且其高度应适当设置以保持纵横比。
我试图在NoSizeDecorator包装图像,但这种方式图像根本没有出现,除非我指定图像的绝对高度和宽度在XAML,我不能做,因为我需要图像的宽度相同文本。
我该怎么办?
+1,但请注意'Stretch =“Uniform”'是默认值,所以不需要明确设置它。 – Clemens
谢谢@Clemens(再次)...我已经相应地更新了我的答案。 – Sheridan
谢谢,我实际上已经尝试过使用Width <-Tb.ActualWidth绑定,但可能已经与其他一些属性混淆了,并且无法使其工作。现在它可以正常工作,谢谢! – ale