Silverlight 4.0 silverlight 4中的文本包装不起作用

Silverlight 4.0 silverlight 4中的文本包装不起作用,silverlight-4.0,textblock,word-wrap,Silverlight 4.0,Textblock,Word Wrap,我想做文字包装,并显示一个垂直滚动条,当我有超过一行文字,但文字是没有得到包装在所有。这是我的xaml <StackPanel Name="panel"> <Grid> <Grid.RowDefinitions> <RowDefinition /> </Grid.RowDefinitions>

我想做文字包装,并显示一个垂直滚动条,当我有超过一行文字,但文字是没有得到包装在所有。这是我的xaml

<StackPanel Name="panel">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition />
                </Grid.RowDefinitions>

                <StackPanel
                    Grid.Row="0"
                    Grid.Column="0"
                    Orientation="Horizontal"
                    Background="Yellow">

                <TextBlock  Text="Text:" />
                <ScrollViewer                                    
                    BorderThickness="0"
                    Height="33"                                    
                    VerticalScrollBarVisibility="Auto"                                
                    HorizontalScrollBarVisibility="Disabled">                    
                    <TextBlock TextWrapping="Wrap" Text="{Binding Name}"/>
                </ScrollViewer>
                </StackPanel>
            </Grid>
        </StackPanel>

有人能告诉我为什么文本不会在屏幕的末尾换行吗


谢谢这里发生的事情是,您的内部StackPanel(以及每个StackPanel)不会将其子级限制在StackPanel中的“可见”空间。因此,scrollviewer感觉有无限的空间,textblock也是如此。网格本身可以做到这一点:

<StackPanel Name="panel">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <TextBlock  Text="Text:" />
        <ScrollViewer Grid.Column="1"
                                    BorderThickness="0"
                                    Height="33"
                                    VerticalScrollBarVisibility="Auto"
                                    HorizontalScrollBarVisibility="Disabled">
            <TextBlock TextWrapping="Wrap"
                                    Text="YourText" />
        </ScrollViewer>
    </Grid>
</StackPanel>


现在运行得很好。我现在必须改变一些事情。您还可以告诉我,是否有可能以某种方式使scrollviewer与网格中的某一行具有相同的高度,以便在该行中有更多文本时立即显示滚动条?我讨厌在scrollviewer中硬编码高度。谢谢你当然。。。在我的代码示例中,由于ScrollViewer受到网格的限制(存在一个隐式网格。Row=“0”),所以scroll viewer将被该行的高度(这是一个单词吗?)。因此,您所要做的就是
,不幸的是,这并没有给出期望的结果。我像你说的那样将高度添加到行中,并从ScrollViewer中删除了height属性。然而,scrollviewer似乎仍然被网格切断了。我希望有一种附加屏幕截图的方法,但我的意思是滚动条的底端不是完全可见的。我只能看到滚动条底端的一半。我希望它能正确地放入行中。好的。。将“高度”设置为35可以解决此问题。不知道为什么..可能这是scrollviewer/my scrollviewer的最小高度?看起来滚动条末端的中继器不太大,所以是的,应该有一个最小值。