ComboBoxItem内容在鼠标悬停之前未显示?

时间:2019-05-07 08:37:52

标签: c# wpf combobox

加载控件后,我的组合框选择中的内容未显示在组合框中。它在我将鼠标悬停后显示,此后可以正常工作。

这是默认情况下选中的组合框项

            <ComboBoxItem x:Name="ModeSet">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="20"/>
                        <ColumnDefinition Width="1*"/>
                    </Grid.ColumnDefinitions>
                    <TextBlock Text="=" Grid.Column="0" HorizontalAlignment="Center"/>
                    <TextBlock Text="Set" Grid.Column="1"/>
                </Grid>
            </ComboBoxItem>

当我使用此控件加载窗口时,组合框只是空白。然后,当我将鼠标悬停在上面时,内容就会出现在其中。

            <ComboBoxItem x:Name="ModeSet" Content="Test"/>

这有效,并且内容从一开始就正确显示,所以我猜我的网格或其内容有问题吗?

编辑:继承xaml中的组合框定义:

<ComboBox SelectedValue="{Binding ModeSelection, Mode=TwoWay}"
                  Grid.Column="0"
                  Margin="5"
                  SelectedValuePath="Name">

它正确默认为"ModeSet" ComboBoxItem,问题似乎完全是视觉上的,内容没有正确显示。

1 个答案:

答案 0 :(得分:0)

以我在Xamarin.Forms中使用XAML的经验,您可以尝试:

<ComboBoxItem x:Name="ModeSet">
      <ComboBoxItem.Content>
        <Grid>
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="20" />
            <ColumnDefinition Width="1*" />
          </Grid.ColumnDefinitions>
          <TextBlock Text="=" Grid.Column="0" HorizontalAlignment="Center" />
          <TextBlock Text="Set" Grid.Column="1" />
        </Grid>
      </ComboBoxItem.Content>
    </ComboBoxItem>

希望这会有所帮助