Mam problemy z rozciągnięciem ComboBox
, aby wypełnić całą szerokość kolumny w GridViewColumn
. Powinieneś również zmienić rozmiar po zmianie rozmiaru kolumny. W poniższym przykładzie mam StackPanel
z wewnątrz. Zostanie ustawiony tak, aby rozciągać i będzie rozciągał się w celu wypełnienia szerokości StackPanel
.Utwórz pola ComboBox WPF o szerokości całej kolumny
Następnie dodaję ListView
z jedną kolumną, zawierającą StackPanel
z ComboBox
. Zarówno modele StackPanel
, jak i ComboBox
są ustawione na rozciąganie, ale nie. Używam kolorów tła, aby zidentyfikować rozmiar StackPanel
s, i nie ma czerwonego, chyba że ustawię szerokość lub doda elementy do ComboBox
tak, że potrzebuje większej szerokości.
Próbowałem również odtwarzać z właściwością HorizontalContentAlignment
bez powodzenia.
<StackPanel Height="59" Margin="45,12,38,0" VerticalAlignment="Top" Background="Green">
<ComboBox HorizontalAlignment="Stretch" />
</StackPanel>
<ListView x:Name="MyListView" Margin="0,106,0,0">
<ListView.View>
<GridView>
<GridViewColumn Header="Num" Width="70">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Background="red" Orientation="Horizontal" HorizontalAlignment="Stretch">
<ComboBox HorizontalAlignment="Stretch" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListViewItem></ListViewItem>
</ListView>
Ponów flagę moderatora; przegapiłeś 26 grudnia i 6 marca (chyba, że brakuje mi logu) –
Użyj 'DockPanel' zamiast' StackPanel' – Aaaaaaaa
O ile w StackPanel nie będzie czegoś, możesz mieć więcej szczęścia z Border. –