【问题标题】:Scrolling a TextBlock滚动文本块
【发布时间】:2010-06-30 23:14:45
【问题描述】:

我在同一位置有一个 TextBlock 和一个 Textbox。根据用户所处的模式,我让一个可见,另一个折叠。这工作正常,但我怎样才能使 Textblock 可滚动?我想我应该使用 ScrollViewer,但我不知道为什么它不起作用。我试过弄乱高度(自动和固定),但它不会滚动。我的 xml 是这样的:

<ScrollViewer x:Name="detailsScroller" Height="285" Width="480"  Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
    <Canvas x:Name="infoCanvas" Width="478"  >
     <TextBlock x:Name="textblockInfo" TextWrapping="Wrap"  Width="462" Height="197"  Canvas.Left="8"/>
     <TextBox x:Name="textboxInfo" TextWrapping="Wrap"  Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" />
    </Canvas>
</ScrollViewer>

谢谢!

【问题讨论】:

    标签: silverlight xaml windows-phone-7 scrollviewer textblock


    【解决方案1】:

    不要在文本框中输入高度。 这对我来说非常有效:

        <ScrollViewer Height="192" HorizontalAlignment="Left" Margin="12,34,0,0" Name="scrollViewer1" VerticalAlignment="Top" Width="404">
            <TextBlock VerticalAlignment="Top"  Name="textBlock1" Text="TextBlock" Width="378" TextWrapping="Wrap" />
        </ScrollViewer> 
    

    【讨论】:

    • 太棒了!我疯了!谢谢!
    【解决方案2】:

    您可能想参考discussion 和 MSFT confirmation,文本控件滚动仍在当前 CTP 中进行中的工作。 Beta 版应该不会太远,希望到时更多。

    【讨论】:

    • 谢谢,我希望他们能尽快发布更新,因为我不得不推迟应用程序的某些方面。
    【解决方案3】:

    以下代码有效:由于您的子控件(即文本块)的高度和宽度不等于滚动查看器的宽度和高度,因此滚动条不会显示。我刚刚为它内部定义的控件提供了与滚动查看器相同的高度和宽度。

    <ScrollViewer x:Name="detailsScroller" Height="285" Width="480"  Canvas.Top="76" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
        <Canvas x:Name="infoCanvas" Height="285" Width="480"  >
         <TextBlock x:Name="textblockInfo" TextWrapping="Wrap"  Height="285" Width="480" Canvas.Left="8"/>
         <TextBox x:Name="textboxInfo" TextWrapping="Wrap"  Width="478" AcceptsReturn="True" Height="300" Visibility="Collapsed" />
        </Canvas>
    </ScrollViewer>
    

    【讨论】:

    • 谢谢我尝试了代码,但它只移动了一点。我无法顺利滚动到最后。我想这是当前的限制。
    【解决方案4】:

    如果您希望内容滚动,请确保滚动条可见。

    <TextBox Text="{Binding SomethingReallyLong}" 
     TextWrapping="Wrap" 
     VerticalScrollBarVisibility="Visible"/>        
    

    【讨论】:

    • 抱歉,忘了说,这是针对 Windows Phone 7 的。我已经编辑了我的原始标签。显示滚动条不起作用,因为它只是使文本框可编辑并且文本块也不滚动。
    猜你喜欢
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 2013-10-22
    • 1970-01-01
    相关资源
    最近更新 更多