在stackpanel中包装文本

时间:2012-03-08 13:29:48

标签: silverlight xaml textwrapping

我有一个包含2个文本块的stackpanel。问题是我的文本块没有包装文本。 什么是奇怪的,即使我只有一个文本块包装也不起作用。

        <StackPanel Orientation="Horizontal" VerticalAlignment="Top" Grid.Row="1" Grid.ColumnSpan="2" Margin="0">
            <!--<ContentControl Width="800">-->
                <TextBlock x:Name="textBlock" TextWrapping="Wrap" Text="{Binding Path=StaticTextLibrary.ApplicationSubtitle, Source={StaticResource ResourcesManager}}"  
                        FontSize="14" HorizontalAlignment="Left" Foreground="{StaticResource text}" Opacity="0"  RenderTransformOrigin="0.5,0.5"
                        VerticalAlignment="Bottom" Padding="5" Height="30">
                    <TextBlock.RenderTransform>
                        <CompositeTransform TranslateX="30"/>
                    </TextBlock.RenderTransform>
                </TextBlock>
            <!--</ContentControl>-->
            <TextBlock x:Name="subTitlePostfix" TextWrapping="Wrap" Text="by Credit Suisse©" Margin="6,0,0,0" Opacity="0" RenderTransformOrigin="0.5,0.5" VerticalAlignment="Top" HorizontalAlignment="Left" Foreground="{StaticResource text}" Padding="0,4,0,0" >
                    <TextBlock.RenderTransform>
                        <CompositeTransform TranslateX="30"/>
                    </TextBlock.RenderTransform>
            </TextBlock>
        </StackPanel>

我在哪里犯了错误?

2 个答案:

答案 0 :(得分:4)

为什么不使用Silverlight ToolKit中的WrapPanel?

答案 1 :(得分:1)

我复制到代码并打了它直到它会包装 以下是一些注释和解决方案:

你的第一个TextBlock指定了一个高度,但是对于第二行来说30还不够==&gt;无法换行因为无法创建第二行。删除Height="30"

而不是StackPanel,你不是指WrapPanel?除非你有特别的想法。

我使用的是TranslateTransform x="30"而不是CompositeTransform TranslateX="30",但它应该不是问题。

HTH,

BAB。