WPF 隐藏样式中按钮的工具提示

凯西

我有一个Button通过模板定义的:

<Button Name="DialogOk" Grid.Column="0" Margin="4,0,0,0" Content="{Binding OkButtonText}" 
                    ToolTip="{Binding OkButtonShortcut}" Style="{DynamicResource ButtonOk}"
                    Click="DialogOk_Click" Visibility="{Binding DialogOkButtonVisibility}" />

样式定义在ResourceDictionary

    <Style x:Key="ButtonOk" TargetType="{x:Type Button}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Grid>
<Rectangle x:Name="ButtonBackground" Color="Red"/>
                            <TextBlock x:Name="ButtonText" 
                                VerticalAlignment="Center" HorizontalAlignment="Center"
                                Text="{TemplateBinding Content}" />
                            <TextBlock  x:Name="ButtonCustomToolTip" 
                                Text="{TemplateBinding ToolTip}" 
                                VerticalAlignment="Top" HorizontalAlignment="Right"
                                FontSize="10" Foreground="Yellow" 
                                Visibility="{TemplateBinding ToolTip, Converter={StaticResource StringToVisibility}}">
                                <TextBlock.BitmapEffect>
                                    <DropShadowBitmapEffect
                                        ShadowDepth="1"
                                        Softness="0"
                                        Color="Black"
                                        Opacity="0.4"
                                        Direction="270"
                                        />
                                </TextBlock.BitmapEffect>
                            </TextBlock>
                        </Grid>

                        <ControlTemplate.Triggers>
                            <!-- triggers there -->
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

ButtonCustomToolTipOkButtonShortcut字符串为空时折叠

但是在此处输入图片说明当光标在我的按钮上时,我仍然看到默认的工具提示,就像一个空的白色矩形如何删除此默认工具提示区域?

艾丽特

这可以通过父样式的资源部分中的样式来实现。

<Grid>
    <Grid.Resources>
        <Style x:Key="ExampleButtonStyle" TargetType="{x:Type Button}">
            <Style.Resources>
                <Style TargetType="ToolTip">
                    <Style.Triggers>
                        <!-- Add triggers for values you want to hide. -->
                        <Trigger Property="Content" Value=" ">
                            <Setter Property="Visibility" Value="Collapsed" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </Style.Resources>
        </Style>
    </Grid.Resources>

    <StackPanel>
        <!-- Tooltip not hidden -->
        <Button Margin="10" Height="50" Width="100" Content="{Binding OkButtonText}" 
                Style="{DynamicResource ExampleButtonStyle}"
                Visibility="{Binding DialogOkButtonVisibility}"
                ToolTip="Hello">
        </Button>
        <!-- Tooltip hidden -->
        <Button Margin="10" Height="50" Width="100" Content="{Binding OkButtonText}" 
                Style="{DynamicResource ExampleButtonStyle}"
                Visibility="{Binding DialogOkButtonVisibility}"
                ToolTip=" ">
        </Button>
        <!-- Tooltip not hidden because trigger doesn't hide it. -->
        <Button Margin="10" Height="50" Width="100" Content="{Binding OkButtonText}" 
                Style="{DynamicResource ExampleButtonStyle}"
                Visibility="{Binding DialogOkButtonVisibility}"
                ToolTip="">
        </Button>
        <!-- Tooltip hidden -->
        <Button Margin="10" Height="50" Width="100" Content="{Binding OkButtonText}" 
                Style="{DynamicResource ExampleButtonStyle}"
                Visibility="{Binding DialogOkButtonVisibility}"
                ToolTip="{x:Null}">
        </Button>
    </StackPanel>
</Grid>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章