使WPF ComboBoxes填充整个列宽

时间:2009-05-05 21:30:54

标签: wpf combobox styles

我在ComboBox拉伸以填充GridViewColumn中的整个列宽时遇到问题。调整列的大小时也应调整大小。

在以下示例中,我有一个StackPanel,里面有ComboBox。这被设置为拉伸,实际上会拉伸以填充StackPanel宽度。

然后我添加一个ListView一列,其中包含StackPanelComboBoxStackPanelComboBox都设置为拉伸,但它们不会。我使用背景颜色来识别StackPanel的大小,除非我设置宽度或向ComboBox添加元素以使其需要更多宽度,否则没有红色。

我也尝试过使用HorizontalContentAlignment属性而没有成功。

<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>

1 个答案:

答案 0 :(得分:16)

尝试设置Style的{​​{1}}。我还删除了你的StackPanel。

ListViewItem