«Подсказка» не может иметь логического или визуального родителя - PullRequest
2 голосов
/ 09 февраля 2012

У меня следующая проблема. Я продолжаю получать «Всплывающая подсказка» не может иметь логической или визуальной родительской ошибки, когда я пытаюсь стилизовать всплывающую подсказку для кнопки переключения. Что пошло не так? Когда я вынимаю всплывающую подсказку под 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 Ответ

1 голос
/ 05 октября 2015

Если вы пишете такой код с использованием синтаксиса элемента свойства, вы уже вызываете конструктор класса 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 может обрабатывать обе версии, как задумано разработчиком.

...