Est-il un RowSpan=“All” dans WPF?
- Je créer un GridSplitter
sur les 3 lignes que j'ai dans ma grille comme ceci:
<GridSplitter Grid.Row="0" Grid.Column="1" Background="Yellow"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Width="Auto" Height="Auto" ResizeDirection="Columns"
Grid.RowSpan="3" ...
Toutefois, il est envisageable que je pourrais ajouter une autre ligne à mon réseau à un stade ultérieur, et je n'ai pas vraiment envie de revenir et de mettre à jour l'ensemble de mes rowspans.
Ma première intuition était Grid.RowSpan="*"
, mais qui ne compile pas.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez lier à la RowDefinitions.Le comte, mais aurait besoin de mettre à jour la liaison lors de l'ajout de lignes manuellement.
Edit: Seulement semi-manuellement en fait
Xaml:
Code:
RowDefinitions
n'est pas une collection observable si la liaison ne sera pas mis à jour lorsque vous ajoutez une ligne.Une solution simple:
Height
sur votreRowDefinition
si la ou les nouvelles lignes, de ne pas "montrer". Je peut ou peut ne pas être actuellement utilisé dans la production de de logiciels 🙂Math.Min
appelé leColumnSpanProperty
etRowSpanProperty
avec un certain nombre d'autres colonnes ou des lignes.<sys:Int32 x:Key="SpanAll">2147483647</sys:Int32>
etGrid.RowSpan="{StaticResource SpanAll}"
pour faire d'autres gens à comprendre ce qu'il se passe 🙂La
Grid
de contrôle fournit rien comme ceci hors de la boite. Il est concevable que vous pourriez mettre en œuvre unMarkupExtension
ou une autre ruse pour permettre cela.