【问题标题】:WPF ComboBox DisplayMemberPath when no ItemsSource没有 ItemsSource 时的 WPF ComboBox DisplayMemberPath
【发布时间】:2015-03-13 09:36:36
【问题描述】:

我有一个ComboBox,一些硬编码的ComboBoxItems,我试图显示该项目的Content 包含的任何内容。

<ComboBox SelectedIndex="0"
          SelectedValuePath="Tag"
          DisplayMemberPath="{Binding Content}">

     <ComboBoxItem Content="Item1" />
     <ComboBoxItem Content="Item2" Tag="sometag1" />
     <ComboBoxItem Content="Item3" Tag="sometag2" />
     <ComboBoxItem Content="Item4" Tag="sometag3" />
</ComboBox>

我正在努力设置DisplayMemberPath。目前,我将其设置为{Binding Content}。如果我将上面的代码插入到空白 WPF 项目中,Content 会正确显示,如下所示。

然后我将完全相同的代码复制到另一个更大的项目中,选择第一项并没有显示任何内容:

我不明白这怎么可能。 Combobox 代码应该完全独立于项目的其他部分。只应用了主题,视觉效果不同。

DisplayMemberPath 有什么地方做错了吗?或者有什么可以解释的?

【问题讨论】:

  • 您是否尝试过删除 SelectedValuePath="Tag" DisplayMemberPath="{Binding Content}" 然后检查?
  • DisplayMemberPath="Content" ?还要检查输出窗口以查看是否有与此代码相关的任何绑定错误消息...
  • @user2143213 为什么需要DisplayMemberPath?无论如何它都会显示Content
  • 删除 DisplayMemberPath 没有帮助。也不会删除 SelectedValuePath。我还发现这个问题与应用主题有关。如果未应用主题,一切正常。
  • 我希望它不是因为这个黑色组合的某种风格?

标签: wpf xaml combobox


【解决方案1】:

我发现如果我将DisplayMemberPath 设置为空字符串,它会导致Content 显示在折叠的组合框中,即使将主题应用于应用程序也是如此。希望这会有所帮助。

<ComboBox SelectedIndex="0"
      SelectedValuePath="Tag"
      DisplayMemberPath="">

【讨论】:

    猜你喜欢
    • 2013-06-30
    • 2015-04-07
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2014-01-26
    • 2011-08-23
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多