Comment ajouter une barre de Défilement à un StackPanel dans Silverlight?
J'ai un Grid
, 3 par 3 (3 RowDefinitions et 3 ColumnDefinitions). Je veux un contenu (un StackPanel
) dans l'un de ces cellules de la grille pour les faire défiler. Je suis assez sûr que c'est possible, mais je ne peux pas comprendre comment. J'ai essayé d'ajouter ScrollViewers
et ScrollBar
des contrôles à la cellule de la grille, je veux faire défiler, mais cela finit généralement par la création de défilement pour l'ensemble de la page.
Edit:
Ma question est plus specificlly comment je peux obtenir le défilement sur une StackPanel
. Un exemple, si la question que je vais avoir est ici:
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<TextBlock FontSize="16">1,1</TextBlock>
</Grid>
<Grid Grid.Column="1">
<TextBlock FontSize="16">1,2</TextBlock>
</Grid>
<Grid Grid.Row="1">
<TextBlock FontSize="16">2,1</TextBlock>
</Grid>
<Grid Grid.Column="1" Grid.Row="1">
<StackPanel>
<TextBlock>Title</TextBlock>
<Grid>
<ScrollViewer>
<StackPanel>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
<TextBlock FontSize="32">2,2</TextBlock>
</StackPanel>
</ScrollViewer>
</Grid>
</StackPanel>
</Grid>
</Grid>
ScrollViewer est l'outil pour le Travail, peut-être vous pouvez montrer utiliser le Xaml qui ne fonctionne pas à l'aide de ScrollViewer.
Antoine à droite. Un ScrollViewer dans la Cellule de la Grille est ce que vous cherchez.
Merci de nous offrir de l'aide. J'ai mis à jour mon post pour être plus précis.
Antoine à droite. Un ScrollViewer dans la Cellule de la Grille est ce que vous cherchez.
Merci de nous offrir de l'aide. J'ai mis à jour mon post pour être plus précis.
OriginalL'auteur programatique | 2010-04-22
Vous devez vous connecter pour publier un commentaire.
StackPanel traite son contenu a avoir de l'espace infini. Pour faire défiler le stackpanel, vous allez avoir à mettre une hauteur de contrainte sur quelque chose - la grille des parents de l'stackpanel, le plus probable.
Si vous réglez la hauteur de la stackpanel, puis les contrôles qu'il ne s'affiche pas. Vous devez laisser le stackpanel taille pour s'adapter les contrôles à l'intérieur, puis faites défiler la stackpanel à l'intérieur de l'affichage de la fenêtre d'affichage. Réglez la hauteur de la grille qui est le parent d'au plus profond du stackpanel. Le scrollviewer sera ensuite, faites défiler la plus grande stackpanel l'intérieur de la petite grille de la fenêtre d'affichage.
OriginalL'auteur dthorpe