WPF:如何将StackPanel高度(自动)绑定到ImageControl高度?

时间:2011-04-19 11:53:56

标签: binding

我在设计(xmal)中创建了stackPanel,它具有自动高度和宽度。在“加载代码”中动态添加图像控件列表到stackPanel。现在它工作正常。但是当我尝试调整窗口大小时,虽然堆栈面板因自动而调整大小,但不是图像控制。

如何将stackpanel的实际高度动态绑定到图像控制高度,(所以当stakpanl高度变化时,图像控制也应该改变!!)。

感谢

1 个答案:

答案 0 :(得分:2)

使用ViewBox

<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
    <Viewbox MaxWidth="500" MaxHeight="500" Name="vb1">
        <Image Source="tulip_farm.jpg"/>
    </Viewbox>    
</StackPanel>

How to: Apply Stretch Properties to the Contents of a Viewbox

或者你可以使用如下的绑定:

<StackPanel x:Name="MyStackPanel">
    <Image Source="C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg" Stretch="Uniform" Height="{Binding ElementName=MyStackPanel, Path=ActualHeight}"></Image>
</StackPanel>