'ToolTip'不能有逻辑或可视父级

时间:2012-02-09 15:40:23

标签: wpf-controls

我有以下问题。当我尝试为切换按钮设置样式工具提示时,我一直得到'ToolTip'不能有逻辑或可视父错误。什么地方出了错?当我取出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>

1 个答案:

答案 0 :(得分:1)

如果使用属性元素语法编写这样的代码,则称之为ToolTip类的构造函数。

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

没有必要像这样实例化另一个ToolTip ......

 <ToggleButton.ToolTip>
     <ToolTip Style="{StaticResource tooltipstyle}">                        
         <TextBlock Background="Transparent"/>                                                                                                                      
     </ToolTip>
 </ToggleButton.ToolTip>

...因为这会在ToolTip内有效地创建ToolTip并导致错误。

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