ComboBoxItem到ComboBox的全宽,使用SelectedIndex或导航键盘?

Cia*_*tic 4 wpf xaml combobox selectedindex

在XAML之后导致"我的东西"居中,ComboBox 直到我打开它ComboBox,当它正确伸展自己.

    <ComboBox Height="30" Width="300" HorizontalContentAlignment="Stretch" SelectedIndex="0">
        <ComboBoxItem HorizontalContentAlignment="Stretch">
            <Border Background="Red">
                <TextBlock>My stuff...</TextBlock>
            </Border>
        </ComboBoxItem>
    </ComboBox>
Run Code Online (Sandbox Code Playgroud)

问题是,ComboBoxItem即使选择使用它,是否有可能被拉伸SelectedIndex?如果SelectedIndex未触及(-1)并且使用键盘选择项目,则会发生相同的错误或功能.

解决方法可能是在app的开头以编程方式打开ComboBox,这相当丑陋.

小智 7

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

例如

Width="{Binding ElementName=combox1, Path=ActualWidth}">
Run Code Online (Sandbox Code Playgroud)

试试这个:

<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>
Run Code Online (Sandbox Code Playgroud)