gpt4 book ai didi

wpf - 几秒钟后展开工具提示

转载 作者:行者123 更新时间:2023-12-04 14:22:41 26 4
gpt4 key购买 nike

我想制作一个工具提示,在用户关注几秒钟后会自行扩展。

不知道如何准确描述这一点,但有一个完美的例子。
这是 AutoCAD Architecture 2014 中使用的工具提示。当我将鼠标移到任何按钮上时,会出现一个典型的工具提示。但是在此处按住鼠标 2-3 秒后,工具提示会自行扩展为更大的提示。这是之前和之后的截图:

前:

enter image description here

后:

enter image description here

还有我的一些测试代码在这里。
两个按钮,一个带有我想放在开头的标准工具提示,第二个带有扩展内容。如何将其转换为一个?

 <StackPanel>
<Button Content="Advanced" Height="50" Width="150" TextBlock.FontSize="20">
<Button.ToolTip>
<TextBlock Text="Test"/>
</Button.ToolTip>
</Button>
<Button Height="50" Width="150" Content="Advanced 2" TextBlock.FontSize="20">
<Button.ToolTip>
<StackPanel Height="200" Width="200">
<StackPanel Height="30" Width="200" Orientation="Horizontal"/>
<Image VerticalAlignment="Top" Width="30" Height="30" Source="C:\tmp\ask.png" Name="image1"/>
<TextBlock Text="Here will be some more text."/>
</StackPanel>
</Button.ToolTip>
</Button>

</StackPanel>

最后一个,如何在转换工具提示的同时进行“扩展”转换?

最佳答案

尝试使用延迟显示控件的自定义样式。

    <Window.Resources>

<Style TargetType="Image" x:Key="DelayShowImage">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsVisible, RelativeSource={RelativeSource AncestorType=StackPanel}}" Value="true">
<DataTrigger.EnterActions>
<BeginStoryboard x:Name="VisibleStory">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Visibility"
Duration="0"
BeginTime="0:0:02">
<DiscreteObjectKeyFrame Value="{x:Static Visibility.Visible}" />
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<RemoveStoryboard BeginStoryboardName="VisibleStory"/>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>

</Window.Resources>

<StackPanel>
<Button Content="Advanced" Height="50" Width="150" TextBlock.FontSize="20">
<Button.ToolTip>
<TextBlock Text="Test"/>
</Button.ToolTip>
</Button>
<Button Height="50" Width="150" Content="Advanced 2" TextBlock.FontSize="20">

<Button.ToolTip>
<StackPanel Height="200" Width="200">
<StackPanel Height="30" Width="200" Orientation="Horizontal"/>
<Image VerticalAlignment="Top" Width="30" Height="30" Source="C:\tmp\ask.png" Name="image1"
Style="{StaticResource DelayShowImage}"/>
<TextBlock Text="Here will be some more text."/>
</StackPanel>
</Button.ToolTip>
</Button>
</StackPanel>

上面的代码在第二个按钮中显示工具提示,并在 2000 毫秒(0:0:02)后显示图像。您可以更改样式以供稍后要显示的不同控件使用。

关于wpf - 几秒钟后展开工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51668669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com