2009-09-30 66 views
0

招呼社會任何一個可以請說如何添加控件動態成堆疊面板動態控件添加到silveright的StackPanel創建菜單

注:我需要的是我要創建從獲取數據的菜單數據庫並創建相應的菜單項可以在任何一個說我怎麼能創造這樣的菜單我是新來的銀色光芒

我使用Silverlight 3 beta和表達共混物3 +素描流量請幫我知道如何設計這些

+0

退房項目的這個 http://silverlightpopupmenu.codeplex.com/ – 2010-07-17 07:46:20

回答

4

請原諒變量名稱,但是這裏是一個動態添加項目到堆棧面板的代碼片段

StackPanel split = new StackPanel(); 
TextBlock expected = new TextBlock(); 
expected.Text = "Expected Final Bonus"; 
TextBlock meh = new TextBlock(); 
meh.Text = Math.Round(((QuoteData)results.First()).ExpectedBonus * 100, 2) + "%"; 
split.Children.Add(expected); 
split.Children.Add(meh); 

TextBlock disc = new TextBlock(); 
disc.Text = "Discretionary Percentage"; 
TextBlock number = new TextBlock(); 
number.Text = Math.Round(((QuoteData)results.First()).Discretionary * 100, 2) + "%"; 

split.Children.Add(disc); 
split.Children.Add(number); 

這裏您可以看到我也是動態創建了堆棧面板,但是您也可以使用XAML創建它。

像這樣的東西應該工作:

<StackPanel Grid.Row="3" Grid.Column="1" Name="split" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto"> 
0

首先,如果你的StackPanel已經在您的XAML,處理Loaded事件:

<StackPanel x:Name="spValue" Loaded="spValue_Loaded"> 
</StackPanel> 

private void spValue_Loaded(object sender, RoutedEventArgs e) 
{ 
    StackPanel stackPanel = (sender as StackPanel); 
    stackPanel.Children.Clear(); 
    stackPanel.Children.Add(XamlReader.Load(XElement.Parse(xaml).ToString()) as FrameworkElement); 
} 

的控制與XAMLReader從你的東西裝創建來自DB。您可以適應所有您的特定場景(菜單和菜單項...)

+0

朋友devMomentum, 我將加載N多從DB我怎麼可以添加我可以使用foreach或for循環回答XElement是從數據庫中獲取數據的變量我是否可以使用這樣的事情 private void spValue_Loaded(object sender,RoutedEventArgs e) { for( int i = 0; i 2009-10-02 04:58:08