Есть значок, который я хочу всегда видеть, но хочу, чтобы подсказка была условно видимой. Вот код, который у меня сейчас есть:
<TextBlock Grid.Row="2"
Grid.Column="0"
VerticalAlignment="Center"
FontSize="15"
Visibility="{Binding IsConnected, Converter={StaticResource BooleanToVisibilityConverter}}">
<fa:ImageAwesome Icon="{Binding Path=BatteryLevelIcon, UpdateSourceTrigger=PropertyChanged}"
Height="20"
Width="20"
Foreground="Green"
Visibility="{Binding IsConnected, Converter={StaticResource BooleanToVisibilityConverter}}" />
<ToolTipService.ToolTip>
<TextBlock Visibility="{Binding IsCharging, Converter={StaticResource InvertedBooleanToVisibilityConverter}}">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}%">
<Binding Path="BatteryPercentage" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</ToolTipService.ToolTip>
</TextBlock>
Итак, я хочу, чтобы всплывающая подсказка отображалась только тогда, когда IsCharging имеет значение false. Проблема, с которой я сталкиваюсь, заключается в том, что поскольку свойство Visibility находится в текстовом блоке всплывающей подсказки, а не в самой подсказке, установка его как невидимого дает мне только пустую подсказку, а не всплывающую подсказку. Я попытался определить содержание всплывающей подсказки (textblock) в UserControls.Resources, а затем установить textblock и IsEnabled, но он выдал ошибку:
значение типа tooltipservice нельзя добавить к коллекция или словарь типа inlinecolection
Кажется, нет простого способа установить видимость для всплывающей подсказки. Если у кого-то есть какие-либо предложения, это будет с благодарностью!