遵循 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/