不显示 ComboBox 工具提示
ComboBox tooltip is not displayed
我正在尝试以下代码:
<ComboBox x:Name="comboBox">
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" ToolTip="This will never be shown, why?" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
然后我在后面的代码中分配一些 ItemSource
,select 项目并尝试将鼠标悬停在组合框上。结果 - 没有工具提示。
如果我对 ListBox
做同样的事情 - 每个项目都会显示工具提示。如果我打开 ComboBox
弹出窗口 - 每个项目都会显示工具提示。
如果我窥探它:
那么可视化树中就没有CheckBox
了。但是内容演示者显示它。这是怎么回事?
当然我还可以将 ComboBox.Tooltip
绑定到例如它是 SelectedValue
或 SelectedIndex.ToolTip
,但它不会始终有效,并且取决于内容和 ComboBox
配置:它是 ComboBoxItems
还是 ItemsSource
的集合,是吗是否使用ValuePath
等
我想明白为什么没有CheckBox
。我想要显示来自数据模板的工具提示。
这可能是 Snoop
或其他问题的错误,但在打开和关闭 ComboBox
弹出窗口并点击 Snoop
中的刷新按钮后,它最终显示 CheckBox
:
但我的问题仍然存在:为什么不显示工具提示?我可以看到它在那里,但是鼠标悬停 ComboBox
没有显示任何内容。
Why tooltip is not shown?
由于元素在元素树中只能出现一次,因此 ComboBox
使用 VisualBrush
创建 CheckBox
的可视副本,然后在选择框中显示克隆: https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/ComboBox.cs,896
并且承载 VisualBrush
的 Rectangle
没有 Tooltip
。
我正在尝试以下代码:
<ComboBox x:Name="comboBox">
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}" ToolTip="This will never be shown, why?" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
然后我在后面的代码中分配一些 ItemSource
,select 项目并尝试将鼠标悬停在组合框上。结果 - 没有工具提示。
如果我对 ListBox
做同样的事情 - 每个项目都会显示工具提示。如果我打开 ComboBox
弹出窗口 - 每个项目都会显示工具提示。
如果我窥探它:
那么可视化树中就没有CheckBox
了。但是内容演示者显示它。这是怎么回事?
当然我还可以将 ComboBox.Tooltip
绑定到例如它是 SelectedValue
或 SelectedIndex.ToolTip
,但它不会始终有效,并且取决于内容和 ComboBox
配置:它是 ComboBoxItems
还是 ItemsSource
的集合,是吗是否使用ValuePath
等
我想明白为什么没有CheckBox
。我想要显示来自数据模板的工具提示。
这可能是 Snoop
或其他问题的错误,但在打开和关闭 ComboBox
弹出窗口并点击 Snoop
中的刷新按钮后,它最终显示 CheckBox
:
但我的问题仍然存在:为什么不显示工具提示?我可以看到它在那里,但是鼠标悬停 ComboBox
没有显示任何内容。
Why tooltip is not shown?
由于元素在元素树中只能出现一次,因此 ComboBox
使用 VisualBrush
创建 CheckBox
的可视副本,然后在选择框中显示克隆: https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/ComboBox.cs,896
并且承载 VisualBrush
的 Rectangle
没有 Tooltip
。