我有一个带有未绑定项目的ComboBox,如下面的XAML所示。当包含此ComboBox的窗口打开时,ComboBox显示为好像没有选择ComboBoxItem(即使SelectedIndex = 0
),直到窗口中的ComboBox或任何其他输入控件被鼠标悬停。此鼠标悬停似乎触发了导致ComboBox重绘/刷新的事件,显示了选择。
<Style x:Key="LineStyle" TargetType="Rectangle">
<Setter Property="Fill" Value="Black"/>
<Setter Property="Height" Value="3"/>
<Setter Property="Canvas.Top" Value="4"/>
</Style>
<ComboBox VerticalAlignment="Top" SelectedIndex="0">
<ComboBoxItem ToolTip="Solid" HorizontalAlignment="Center">
<Canvas Width="69" Height="11">
<Rectangle Style="{StaticResource LineStyle}" Width="69" Canvas.Left="0" />
</Canvas>
</ComboBoxItem>
<ComboBoxItem ToolTip="Dash" HorizontalAlignment="Center">
<Canvas Width="69" Height="11">
<Rectangle Style="{StaticResource LineStyle}" Width="11" Canvas.Left="0" />
<Rectangle Style="{StaticResource LineStyle}" Width="11" Canvas.Left="19" />
<Rectangle Style="{StaticResource LineStyle}" Width="11" Canvas.Left="38" />
<Rectangle Style="{StaticResource LineStyle}" Width="11" Canvas.Left="57" />
</Canvas>
</ComboBoxItem>
</ComboBox>
我之前遇到过一个完全相同的问题,一个ComboBox的未绑定项目包含一个StackPanel
,其中包含Image
和TextBlock
。那里的解决方法是绑定项目而不是&#34;硬编码&#34;他们在XAML中,但现在不是一个选择。这个空白的ComboBox问题是否有XAML解决方案?
如果我只使用简单的基于文本的ComboBoxItem,如:
<ComboBoxItem Content="Solid" HorizontalAlignment="Center"/>
一切正常。我在Visual Studio中使用默认的ComboBox模板。