Ich habe eine DataGrid Komponente in meiner Anwendung, bei der ich die Spalten-Header selbst gestalte.
Der Spaltenkopf besteht aus einem Label und einer TextBox untereinander angeordnet. Das ganze habe ich über ein Grid gelöst, weil ich gehofft hatte, dass eine TextBox in einem Grid die volle Breite füllt.
Dem ist leider nicht so ( zumindest an dieser Stelle nicht! ). Wie kann ich es relativ simpel anstellen, dass die TextBox die gesamte Breite der DataGrid-Spalte einnimmt, ohne absolute Werte für die Breite angeben zu müssen?
Der Aufbau aktuell:
Code:
<DataGrid Grid.Row="0"> <DataGrid.Columns> <DataGridTemplateColumn Width="*"> <DataGridTemplateColumn.Header> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Label Grid.Row="0" Content="Mitarbeiter" HorizontalAlignment="Stretch"/> <TextBox Grid.Row="1" x:Name="txtUserSearch" HorizontalAlignment="Stretch"/> </Grid> </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <!-- entfernt zur Verbesserung der Übersichtlichkeit --> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid>
Bin für Vorschläge offen, danke
Leave a comment: