【问题标题】:ComboBoxItem content not displaying before mouseover?鼠标悬停之前未显示 ComboBoxItem 内容?
【发布时间】:2019-05-07 08:37:52
【问题描述】:

加载控件时,我的组合框项选择中的内容未显示在组合框中。它在我将鼠标悬停后出现并在此后工作。

这是默认选择的组合框项目

            <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,问题似乎是纯粹的视觉问题,内容显示不正确。

【问题讨论】:

  • 嗨 Olli,你能分享一些关于你如何加载数据的信息吗?
  • 什么意思?我上面的 ComboBoxItem sn-p 位于 ComboBox 控件中,该控件位于通过命令添加到我的窗口的自定义控件上。
  • 你设置ComboBox的SelectedIndex了吗?
  • 我已将 ComboBox 定义添加到上面的原始帖子中。 SelectedValue 绑定到 ModeSelection 属性,初始化为"ModeSet"

标签: c# wpf combobox


【解决方案1】:

根据我在 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>

希望对你有帮助

【讨论】:

  • 不幸的是似乎没有任何区别。
猜你喜欢
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多