【发布时间】:2020-02-05 22:09:21
【问题描述】:
我希望有一个图标始终可见,但我希望工具提示有条件地可见。这是我目前拥有的代码:
<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 属性位于工具提示文本块上,而不是工具提示本身,将其设置为不可见只会给我一个空的工具提示,而不是工具提示根本不出现。我尝试在 UserControls.Resources 中定义工具提示(文本块)的内容,然后设置文本块和 IsEnabled,但它给了我错误:
tooltipservice 类型的值不能添加到 inlinecolection 类型的集合或字典中
似乎没有一种简单的方法可以设置工具提示的可见性。如果有人有任何建议,将不胜感激!
【问题讨论】: