在StackPanel中,我希望TextBlock的Height指定Image的高度,但试图将Image Height绑定到TextBlock ActualHeight会导致Image消失。TextBlock的高度将根据所使用的字体大小而变化。
StackPanel的定义如下:
<StackPanel Orientation="Horizontal">
<Image Source="{Binding HyperlinkIconImagePath}"
Height="{Binding ElementName=hyperlinkTextBlock, Path=ActualHeight}"
Margin="{StaticResource IconLeftMargin}"
VerticalAlignment="Center"/>
<TextBlock>
<Hyperlink
NavigateUri="{Binding HyperlinkUri}">
<TextBlock
Name="hyperlinkTextBlock"
Text="{Binding HyperlinkDisplayedText}"/>
</Hyperlink>
</TextBlock>
</StackPanel>
我已经尝试了许多不同的东西,没有一个会工作。任何帮助都非常感谢。请注意,这个StackPanel包含在一个控制模板中。
2条答案
按热度按时间zfycwa2u1#
这个问题的解决方案来自一个相当微妙的方向。我最初试图绑定到TextBlock的ActualHeight值。在布局过程中,当Image Height属性引用ActualHeight值时,它显然还没有确定。然后我考虑使用TextBlock中显示的字体大小,这个FontSize值显然已经建立并可用。
因此,我更改了Image Height绑定以引用TextBlock字体大小,这导致了成功的呈现。
zyfwsgd62#
请尝试
VerticalAlignment="Center"
:〈文本块垂直对齐方式=“居中...”/〉