2010-03-27 3 views
0

Salut Je crée une toile dans le code derrière comme ci-dessous:Comment créer la bordure d'un canevas dynamique dans Silverlight?

Canvas musicPlayerCanvas = new Canvas(); 
        musicPlayerCanvas.Background = new SolidColorBrush(Colors.White); 
        musicPlayerCanvas.Height = 80; 
        musicPlayerCanvas.Width = 1018; 
LayoutRoot.Children.Add(musicPlayerCanvas); 

musicPlayerCanvas.Children.Add(playingText); 
musicPlayerCanvas.Children.Add(albumImage); 

Maintenant, comment puis-je ajouter à la frontière de la toile du codebehind.

J'ai essayé avec la création d'une frontière et l'attribution d'un enfant comme ci-dessous:

Border myBorder = new Border(); 
        //Border Proporties 



        Canvas.SetTop(musicPlayerCanvas, 26); 
        Canvas.SetLeft(musicPlayerCanvas, 154); 
        LayoutRoot.Children.Add(musicPlayerCanvas); 
        myBorder.Child = musicPlayerCanvas; 

Il ne fonctionne pas pour moi. Toute aide s'il vous plaît.

Merci, Subhen

Répondre

4

Vous voulez ajouter la toile à la frontière, comme suit:

Canvas musicPlayerCanvas = new Canvas(); 
musicPlayerCanvas.Background = new SolidColorBrush(Colors.Purple); 

Border border = new Border(); 
border.BorderBrush = new SolidColorBrush(Colors.Black); 
border.BorderThickness = new Thickness(5); 
border.Height = 80; 
border.Width = 1018; 
border.Child = musicPlayerCanvas; 

LayoutRoot.Children.Add(border); 

Sur une note côté, lorsque vous utilisez des commandes comme des zones de texte et des images (ce qui est ce que je pense que vous pourriez faire en regardant vos noms de contrôle), vous pouvez utiliser une grille plutôt qu'un Canvas comme un contrôle de conteneur. Cheers, Phil