如何以编程方式在Scroll viewer中添加网格

时间:2011-11-16 04:54:55

标签: silverlight xaml grid scrollviewer

我的XAML看起来像这样

<navigation:Page x:Class="SilverlightApplication1.Home">

    <Grid x:Name="LayoutRoot">
    <!--
    <ScrollViewer>
        <Grid>
            <TextBlock Text="myTextBlock" />
        </Grid>
    </ScrollViewer>
    -->
</Grid>

我想以编程方式通过后面的代码执行上面评论的部分。

我背后的代码看起来像这样

public partial class Home : Page
{
    public Home()
    {
        InitializeComponent();

        ScrollViewer sv = new ScrollViewer();
        Grid grid = new Grid();
        TextBlock block = new TextBlock();

        block.Text = "My Text block";
        grid.Children.Add(block);

        sv.ScrollIntoView(grid);
        LayoutRoot.Children.Add(sv);

    }

这不起作用,因为它只显示滚动查看器,但隐藏了文本块。

我错过了什么?

有没有办法使用silverlight工具包中提供的扩展方法“ScrollIntoView”以编程方式将子项添加到“ScrollViewer”控件?我没有为ScrollViewer元素找到一个名为“Children”的属性

感谢您的帮助

1 个答案:

答案 0 :(得分:18)

您没有指定ScrollViewer的内容,只需在最后一行之前执行此操作。您也可以删除ScrollIntoView方法。

sv.Content = grid;

希望它有所帮助。 :)