2009-07-09 5 views
1

Voici le code qui me causent problème depuis quelques heures:WPF problème d'alignement contenu

 TabItem newTab = new TabItem(); 
     newTab.Header = source.Name; 
     newTab.Content = source.GetGui(); 
     newTab.HorizontalContentAlignment = HorizontalAlignment.Stretch; 
     newTab.VerticalContentAlignment = VerticalAlignment.Stretch; 
     this.inputSourceDisplay.Items.Add(newTab); 

La sortie est le contrôle (de GetGui()) montre des mais dans le centre vertical et horizontal dans le centre, mais ne pas l'étirer suppose.

Comment puis-je résoudre ce problème ou comment puis-je le déboguer?

Répondre

1

Que retourne votre méthode "GetGui()"? Est-ce un UserControl? Par défaut, UserControls définies explicitement leurs propriétés Largeur et Hauteur:

<UserControl x:Class="WpfApplication1.UserControl1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Height="300" Width="300"> 

Avec la hauteur et la largeur définie de manière explicite, l'UserControl ne répondra pas aux attributs comme HorizontalContentAlignment.

+0

Merci, je viens de comprendre en même temps que vous avez posté cet article. –

+0

haha ​​ouais - me battre en quelques secondes! Eh bien, merci pour l'acceptation de la réponse. –

0

Dans WPF, si le contrôle utilisateur a une largeur ou une hauteur par défaut, le contrôle utilisateur ne s'étire pas même si vous utilisez l'énumération pour l'étirement.

La solution consistait à supprimer de UserControl Xaml la largeur et la hauteur par défaut et le contrôle se comportait comme il le devrait.