J'ai un Expander
que je veux avoir un ListBox
dans Quand le j'ouvre le Expander
, le ListBox
se développe juste à côté de l'écran (plutôt que d'étendre pour remplir ce qui est disponible et le défilement) .WPF -. Scrolling Listbox dans un Expander
Voici mon XAML:
<DockPanel Margin="266.25,0,455,12" Name="dockPanel1">
<StackPanel>
<Expander Header="expander1" Name="expander1" Width="150" HorizontalAlignment="Left">
<Grid>
<Label>Testing</Label>
<ScrollViewer>
<ListBox Name="lstBox" FontSize="14" SelectionChanged="lstBox_SelectionChanged" />
</ScrollViewer>
</Grid>
</Expander>
<Expander Header="expander2" Name="expander2" Width="150" HorizontalAlignment="Left">
<Grid >
</Grid>
</Expander>
</StackPanel>
</DockPanel>
Lorsque Expander1
est ouvert, alors il se développe juste à la taille de l'ListBox
(hors de l'écran). Si je mets une taille sur la grille (Height="275"
), alors elle ne se redimensionne pas avec la fenêtre. Je veux qu'il s'étire à la taille de la fenêtre, mais pas plus. Y-a-t-il un moyen de faire ça?
Mais comment puis-je définir cela comme étant la hauteur de la fenêtre? Puis-je faire des liaisons de données pour que cela se produise? – Vaccano
Vous pourriez faire une liaison avec une syntaxe comme celle-ci: {Binding ElementName = Window1, Path = Height} mais cela conduirait à une valeur trop grande. Je pense plutôt que vous aurez besoin d'une propriété à votre fenêtre qui est Height - SomeOffset. –
Aussi, j'imagine qu'il existe une meilleure solution que ce que je viens de suggérer. –