2009-09-30 5 views
0

bonjour communauté quelqu'un peut s'il vous plaît dire comment ajouter dynamiquement des contrôles dans un panneau StackDynamiquement ajouter des contrôles à un StackPanel silveright pour créer un menu

Note: ce que je dois est que je dois créer un menu qui obtenir des données de base de données et crée des éléments de menu en conséquence peut-on dire comment puis-je créer de tels menus Je suis nouveau à la lumière d'argent

J'utilise silverlight 3 bêta et expression blend3 + flux croquis s'il vous plaît aidez-moi de savoir comment concevoir les

+0

vérifier cette http://silverlightpopupmenu.codeplex.com/ –

Répondre

4

Excusez les noms de variables, mais voici un extrait de code permettant d'ajouter dynamiquement des éléments à un panneau de pile

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); 

Ici vous pouvez voir que j'ai aussi créé le panneau de pile dynamique, cependant, vous pouvez créer à l'aide de XAML.

Quelque chose comme cela devrait fonctionner:

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

Tout d'abord, si votre StackPanel est déjà dans votre XAML, gérer l'événement 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); 
} 

Les contrôles sont créés avec XamlReader de vos trucs chargé de la DB. Vous pouvez adapter tout ce à votre scénario particulier (éléments de menu et de menu ...)

+0

ami devMomentum, je vais charger nombre N d'éléments de DB comment puis-je ajouter puis-je utiliser foreach ou pour boucle dans urs réponse XElement est la variable qui obtient datafrom base de données suis-je droit puis-je utiliser quelque chose comme ça privé void spValue_Loaded (expéditeur d'objet, RoutedEventArgs e) { pour (int i = 0; i

Questions connexes