【发布时间】:2010-09-23 15:30:32
【问题描述】:
我想根据容器的宽度减去 TextBlock 上设置的边距来设置 TextBlock 的宽度。
这是我的代码:
<TextBlock x:Name="txtStatusMessages"
Width="{Binding ElementName=LayoutRoot,Path=ActualWidth }"
TextWrapping="WrapWithOverflow"
Foreground="White"
Margin="5,5,5,5">This is a message
</TextBlock>
这很好用,除了 TextBlock 由于左右边距设置为 5 而太大了 10 个单位。
好的,所以我想...让我们使用转换器。但我不知道如何传递我的容器控件的 ActualWidth(见上图:LayoutRoot)。
我知道如何使用转换器,甚至是带参数的转换器,只是不是像... Binding ElementName=LayoutRoot,Path=ActualWidth 之类的参数
例如,我无法做到这一点:
Width="{Binding Converter={StaticResource PositionConverter},
ConverterParameter={Binding ElementName=LayoutRoot,Path=ActualWidth }}"
我希望我说得足够清楚,并希望您能提供帮助,因为今晚 Google 对我没有帮助。
【问题讨论】:
标签: wpf data-binding binding converters