如何在ContentDialog中添加可滚动文本? [WP8.1 Win-RT]

时间:2014-07-25 13:37:58

标签: winrt-xaml windows-phone-8.1

此文本在放置在页面上时可滚动,但不能在ContentDialog上滚动。

发生了什么事?如何使文本可滚动?

        <ScrollViewer Grid.Row="1" VerticalScrollMode="Enabled">
        <TextBlock Name="body" 
                   Style="{StaticResource MessageDialogContentStyle}" 
                   TextWrapping="Wrap" TextTrimming="None">

            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tempus rutrum vulputate. Suspendisse bibendum elit libero, eget imperdiet orci malesuada quis. Fusce a diam eget sem varius laoreet. Mauris eget bibendum odio. Nam ultricies velit libero, sit amet gravida ante accumsan quis. Suspendisse non velit eu risus blandit aliquam. Maecenas vehicula imperdiet hendrerit.
            <LineBreak/><LineBreak/>
            Sed a elementum mi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque congue eros et arcu cursus blandit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec viverra egestas erat, id auctor leo lacinia vel. Praesent consequat consectetur neque, eu auctor urna hendrerit sit amet. Nam vehicula ornare aliquam. Sed sed ligula blandit, ultricies nibh ut, elementum nulla.
            <LineBreak/><LineBreak/>
            Duis iaculis magna mollis imperdiet semper. In facilisis fringilla diam vitae fringilla. In eget laoreet nisi, quis porta sem. Cras sit amet ornare orci. Proin cursus fringilla risus, sit amet commodo libero tincidunt ut. Pellentesque elementum ligula quis neque luctus, ac blandit leo feugiat. Nullam nisi nisi, faucibus hendrerit dapibus et, malesuada sed est. Donec vulputate euismod quam, eget molestie nulla tincidunt eu. Mauris sed quam velit. Nam ullamcorper ante diam, a condimentum orci bibendum sit amet. Ut eu gravida mi. Nam leo lorem, viverra eget suscipit nec, consectetur quis dolor. Fusce tellus tellus, ultricies euismod volutpat vel, suscipit sed nulla. Donec leo lectus, viverra ut tristique ac, fringilla ut ligula. Etiam imperdiet posuere dolor at pretium.
            <LineBreak/><LineBreak/>
            Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin porta commodo porta. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec vitae felis turpis. Proin tempus tristique rutrum. Nam luctus arcu diam. Ut id eros ut magna condimentum lobortis at ac urna. Ut mauris risus, ultrices sed nisi venenatis, venenatis suscipit est. Maecenas porttitor scelerisque nunc vel dignissim. Fusce et eleifend ipsum, eget facilisis risus. In varius ipsum sed purus dictum, id porttitor nibh blandit. Integer enim est, auctor vel magna vel, varius bibendum est. Proin placerat, orci a ornare gravida, metus urna faucibus urna, sit amet sagittis quam leo eu est. Sed ut justo elit.
            <LineBreak/><LineBreak/>
            Aenean ut tempus mi. Pellentesque ultricies gravida pulvinar. Quisque convallis ligula massa, eu varius nibh euismod et. Nulla facilisi. Nulla mattis, nulla porttitor pulvinar varius, mi lacus tincidunt justo, ut convallis arcu tortor sed arcu. Fusce ornare volutpat dolor, euismod ullamcorper ipsum cursus et. Ut ac fringilla nunc.

        </TextBlock>
    </ScrollViewer>

PS:我确实用ContentDialog上的Grid替换了默认的StackPanel。

1 个答案:

答案 0 :(得分:1)

你的网格将有一个保证金,这个scrollViewer将继承它。直接使用它。将stackpanel放在scrollviewer

<ScrollViewer Height="800" VerticalScrollBarVisibility="Visible" VerticalScrollMode="Enabled">
    <StackPanel VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
        <TextBlock Name="body" TextWrapping="Wrap" TextTrimming="None">
            <!--Your content here-->
        </TextBlock>
    </StackPanel>
</ScrollViewer>

或者,根据您的方法,这应该有用。

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="0">
    <ScrollViewer Grid.Column="1" Height="auto" VerticalScrollBarVisibility="Visible" AllowDrop="False">
        <TextBlock Name="LineDetails" TextWrapping="Wrap" />
    </ScrollViewer>
</Grid>