【问题标题】:How to refer MaxWidth="??" of TextBlock to Owner ActualWidth?如何引用 MaxWidth="??" TextBlock 到所有者实际宽度?
【发布时间】:2012-02-20 13:55:30
【问题描述】:

如何将TextBlockMaxWidth="??" 引用到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>

【问题讨论】:

    标签: wpf xaml textblock actualwidth


    【解决方案1】:

    问题在于StackPanels不限制孩子的大小,所以会随着孩子的需要长大

    将您的StackPanel 更改为限制其子级大小的控件,例如Grid(或将其包装在另一个控件中),然后使用ElementName 绑定绑定到该控件的ActualWidth 属性控制

    <Grid Name="stpMessage" ... />
        ...
        <TextBlock MaxWidth="{Binding ElementName=stpMessage, Path=ActualWidth}" ... />
        ...
    </Grid>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 1970-01-01
      相关资源
      最近更新 更多