я хотел бы сделать подсказку текстового блока условно видимой.
У меня есть всплывающая подсказка, определенная как:
<TextBlock>
<TextBlock.ToolTip>
<Grid>...</Grid>
</TextBlock.ToolTip>
</TextBlock>
Куда приведет свойство видимости в этом определении? мне кажется, это не нравится ни в одной из моих догадок.
есть некоторые предложения просто работать с видимостью сетки. проблема с этим подходом в том, чтобы сделать сетку невидимой, все равно будет отображаться пустое окно с подсказкой ... именно поэтому я пытаюсь контролировать видимость подсказки.
Попробуйте это. Он не оставит пустой рамки.
<TextBlock Text="test">
<TextBlock.ToolTip>
<ToolTip Visibility="Visible">
Hello
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
<TextBlock Text="test">
<TextBlock.ToolTip>
<ToolTip Visibility="Hidden">
Hello
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>
Если вы не хотите, чтобы всплывающая подсказка показывала пустой фрейм. Вы должны создать отдельную всплывающую подсказку ControlTemplate со всей необходимой сеткой и текстовыми блоками и назначить ее шаблону всплывающей подсказки. Это может помочь вам решить проблему с пустым фреймом.
Вы должны установить видимость на сетке :
<Window.Resources>
<BooleanToVisibilityConverter x:Key="visibilityConverter" />
</Window.Resources>
...
<Grid Visibility="{Binding IsToolTipVisible, Converter={StaticResource visibilityConverter}}>
...
</Grid>
Вот, пожалуйста;
<TextBlock Text="Dummy text">
<TextBlock.ToolTip>
<ToolTip Visibility="Collapsed">
<TextBlock Text="Text tooltip"></TextBlock>
</ToolTip>
</TextBlock.ToolTip>
</TextBlock>