ComboBox工具提示未显示

问题描述 投票:0回答:1

我正在尝试以下代码:

<ComboBox x:Name="comboBox">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <CheckBox Content="{Binding}" ToolTip="This will never be shown, why?" />
        </DataTemplate>
    </ComboBox.ItemTemplate>
</ComboBox>

然后我在后面的代码中分配一些ItemSource,选择项目并尝试将鼠标悬停在组合框上。结果-没有工具提示。

如果我对ListBox执行相同操作-每个项目都会显示工具提示。如果我打开ComboBox弹出窗口-每个项目都会显示工具提示。

如果我窥探它:

然后视觉树中没有CheckBox。但是内容演示者可以显示它。这是怎么回事?

当然,我还可以将ComboBox.Tooltip绑定到例如其SelectedValueSelectedIndex.ToolTip,但它并不总是起作用,并且取决于内容和ComboBox配置:是ComboBoxItems还是ItemsSource的集合,是否使用ValuePath,依此类推] >

我想了解为什么没有CheckBox。我希望显示来自datatemplate的工具提示。


可能是Snoop或其他错误,但是在打开和关闭ComboBox弹出窗口并单击Snoop中的刷新按钮后,它最终会显示CheckBox

但是我的问题仍然是:为什么没有显示工具提示?我可以看到它在那里,但是将鼠标悬停在ComboBox上不会显示任何内容。

我正在尝试以下代码:[[[[]]]]]]]]]

wpf combobox tooltip datatemplate
1个回答
1
投票
为什么不显示工具提示?

由于一个元素只能在元素树中出现一次,因此ComboBox使用CheckBox创建VisualBrush的可视副本,然后在选择框中显示克隆:https://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/ComboBox.cs,896

并且主持RectangleVisualBrush没有Tooltip

© www.soinside.com 2019 - 2024. All rights reserved.