wpf-controls - “工具提示”不能有逻辑或视觉父级

标签 wpf-controls

我有以下问题。当我尝试为切换按钮设置工具提示样式时,我不断收到“工具提示”不能有逻辑或视觉父错误。什么地方出了错?当我取出 ToggleButton.ToolTip 下的工具提示控件时,它起作用了!

 <ToggleButton x:Name="toggle" OverridesDefaultStyle="True" Template="{StaticResource ExpanderToggleButton}" Margin="0,4,0,0" VerticalAlignment="Top" IsChecked="{Binding IsExpanded, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}">
     <ToggleButton.ToolTip>
         <ToolTip Style="{StaticResource tooltipstyle}">                        
             <TextBlock Background="Transparent"/>                                                                                                                      
         </ToolTip>
     </ToggleButton.ToolTip>
 </ToggleButton>

最佳答案

如果你使用属性元素语法编写这样的代码,你已经调用了 ToolTip 的构造函数。类(class)。

<ToggleButton.ToolTip>
    <TextBlock></TextBlock>                                                 
</ToggleButton.ToolTip>

不需要实例化另一个 ToolTip里面是这样的……
 <ToggleButton.ToolTip>
     <ToolTip Style="{StaticResource tooltipstyle}">                        
         <TextBlock Background="Transparent"/>                                                                                                                      
     </ToolTip>
 </ToggleButton.ToolTip>

... 因为这将有效地创建一个 ToolTipToolTip并导致错误。

此外,在我的系统上(使用 .NET 4.5)没有错误。
似乎 WPF 可以按照开发人员的意图同时处理两个版本。

关于wpf-controls - “工具提示”不能有逻辑或视觉父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9213901/

相关文章:

mvvm - XamDataGrid 字段值作为渐变背景

c# - 我能找到 .NET 4.0 的 WPF 图表控件教程吗

c# - 如何在文本框 wpf 控件中使用我的 native 脚本(泰米尔语)

c# - WPF - 在数据网格上填充数据

c# - ListViewItem 覆盖默认样式打破 gridviews

c# - 阻止 WPF InkBrush 引起滚动事件

c# - ToggleButton 根据状态更改图像

wpf - 获取 WPF 元素的真实视觉边界框?

c# - 获取 WPF 控件的当前大小

wpf - 在没有绑定(bind)的情况下通过 DataContext 从 ViewModel 获取值(value)?