遵循 XAML 会导致“我的东西”以 ComboBox 为中心,直到我打开 ComboBox ,当它正确拉伸(stretch)自身时。

    <ComboBox Height="30" Width="300" HorizontalContentAlignment="Stretch" SelectedIndex="0">
        <ComboBoxItem HorizontalContentAlignment="Stretch">
            <Border Background="Red">
                <TextBlock>My stuff...</TextBlock>
            </Border>
        </ComboBoxItem>
    </ComboBox>

问题是,即使使用 ComboBoxItem 选择了 SelectedIndex ,是否也可以拉伸(stretch)它?如果 SelectedIndex 未更改 (-1) 并且使用键盘选择项目,则会发生相同的错误或功能。

解决方法可能是在应用程序的开头以编程方式打开ComboBox,这很丑陋。

最佳答案

您只需要将边框的宽度设置为外部控件的动态宽度:

例如。

Width="{Binding ElementName=combox1, Path=ActualWidth}">

试试这个:
<ComboBox x:Name="combox1" Height="30" Width="300" HorizontalContentAlignment="Stretch"
    SelectedIndex="0">
    <ComboBoxItem HorizontalContentAlignment="Stretch">
        <Border Background="Red" Width="{Binding ElementName=combox1, Path=ActualWidth}">
            <TextBlock>My stuff...</TextBlock>
        </Border>
    </ComboBoxItem>
</ComboBox>

关于wpf - 使用 SelectedIndex 或导航键盘时,ComboBoxItem 到 ComboBox 的全宽?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1582954/

10-12 07:17