2010-10-08 68 views
1

我想从SQLServer中检索链接列表,并以编程方式从该列表中创建一些HyperlinkBut​​ton。这些按钮应该添加到StackPnael。做这个的最好方式是什么?Silverlight 4:将HyperlinkBut​​ton动态添加到堆栈面板

东西线沿线的:

private void RefreshMenu() 
    { 
     var dc = new FrameworkCMSDomainContext(); 
     var query = dc.GetCMSPagesForSectionQuery(Section); 

     dc.Load(query, (s) => 
     { 
      foreach(var page in dc.CMSPages) 
      { 
       HyperlinkButton btn = new HyperlinkButton(); 
       btn.NavigateUri = new Uri("/" + Section + "/" + page.Name, UriKind.Relative); 
       btn.Content = page.Name; 
       btn.TargetName = "ContentFrame"; 
       //Add to stackpanel here 
      } 

     }, null); 
    } 

    <Grid x:Name="LayoutRoot" Background="White"> 
    <StackPanel x:Name="LinksStackPanel" Orientation="Vertical"> 

    </StackPanel> 
    <Button x:Name="AddPage" Click="AddPage_Click">Add</Button> 

</Grid> 

回答

3
LinksStackPanel.Children.Add(btn); 
+0

错误“LinkStackPanel”这个名字不会在目前情况下 – cmaduro 2010-10-08 23:17:07

+1

存在,则可以直接从代码张贴的用户控件背后的代码包含底部的XAML? XAML的'x:Name'中的值是您可以用来从后面的代码访问控件的名称。 (检查你拼写正确,你的评论缺少s) – Stephan 2010-10-11 16:12:42

+0

这是真的,我纠正它。但错误仍然存​​在。事实上,我拼写错了,因为它不在智能感知弹出列表中。 – cmaduro 2010-10-11 17:36:42