Windows phone 7 向scrolviewer动态添加UI元素,win phone

Windows phone 7 向scrolviewer动态添加UI元素,win phone,windows-phone-7,windows-phone-7.1,Windows Phone 7,Windows Phone 7.1,我知道如何将子对象添加到面板。是这样的 stackpanel.children.add(uielement) 但是我在stackpanel里面有一个scrollviewer。 我想在scrollviewer中添加文本块和其他元素,但没有向scrollviewer添加子元素的功能。 我试图在scrollview中添加另一个stackpanel并向其中添加元素。。。但是,如果我将元素动态添加到scrollviewer中定义的stackpanel中,元素将显示右侧,但没有滚动。如果我也这么做,那就是:

我知道如何将子对象添加到面板。是这样的 stackpanel.children.add(uielement)

但是我在stackpanel里面有一个scrollviewer。 我想在scrollviewer中添加文本块和其他元素,但没有向scrollviewer添加子元素的功能。 我试图在scrollview中添加另一个stackpanel并向其中添加元素。。。但是,如果我将元素动态添加到scrollviewer中定义的stackpanel中,元素将显示右侧,但没有滚动。如果我也这么做,那就是:

    <ScrollViewer>
        <StackPanel x:Name="StckPanel">
              <TextBlock Text="etc" />
         </StackPanel>
     </ScrollViewer>
但当我这样做时,滚动被禁用。我不能滚动

所以我需要知道为什么卷轴在这里不起作用。我应该如何在ScrollViewer中添加子元素。
在XAML中,我们可以在ScrollViewer的标记中添加UIElements。为什么我们不能用c#做同样的事情呢?

我发现了这个问题。我没有正确指定高度、宽度和边距。因此,这不知怎么搞砸了滚动。

显示如何添加ScrollViewer和StackPanel的代码。我使用的代码与上面相同,并将元素添加到StackPanel名称SckPanel中。但这并不能启用滚动。如果我通过硬编码xml添加到名为StckPanel的stackPanel,则会启用滚动。但是如果我动态地添加c#中的元素,滚动就不起作用了
    <ScrollViewer>
        <StackPanel x:Name="Hello"></StackPanel>
    </ScrollViewer>
        TextBlock x= new TextBlock();
        x.Text="Here it goes";
        StckPanel.Children.Add(x);