如何引用MaxWidth ="??" TextBlock转换为Owner ActualWidth? [英] How to refer MaxWidth="??" of TextBlock to Owner ActualWidth?
本文介绍了如何引用MaxWidth ="??" TextBlock转换为Owner ActualWidth?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将TextBlock
的MaxWidth="??"
引用到 stpMessage ActualWidth
?
<StackPanel Name="stpMessage" Orientation="Horizontal" Margin="0,5,0,0">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<TextBlock Margin="0,0,0,0" Foreground="Blue" TextWrapping="Wrap">@ToUserName</TextBlock>
<StackPanel Grid.Column="1">
<TextBlock Margin="5,0,0,0" Text="{Binding Path=Text}" MinHeight="20" MinWidth="200" HorizontalAlignment="Stretch" MaxWidth="1000"
VerticalAlignment="Stretch" TextWrapping="WrapWithOverflow">START skf skdjf skdj hfskdjf ksdjhf ksjdhf ksjhf kjsf kjshf kjshkjfhsdf kjsfdkj hskdfj hskdjf hskdjf skjhfksjfks END</TextBlock>
</StackPanel>
</Grid>
</StackPanel>
推荐答案
问题是StackPanels
不会限制孩子的大小,因此会根据孩子的需要增长
The problem with this is that StackPanels
do not limit the size of their children, so will grow as much as their children need
将StackPanel
更改为限制其子项大小的控件,例如Grid
(或将其包装在另一个控件中),然后使用ElementName
绑定绑定到该控件的ActualWidth
属性控制
Change your StackPanel
to a control that limits the size of it's children, like a Grid
(or wrap it in another control) and then use an ElementName
binding to bind to the ActualWidth
property of that control
<Grid Name="stpMessage" ... />
...
<TextBlock MaxWidth="{Binding ElementName=stpMessage, Path=ActualWidth}" ... />
...
</Grid>
这篇关于如何引用MaxWidth ="??" TextBlock转换为Owner ActualWidth?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文