谁能建议如何从顶部实现可拉视图以在 WPF 中显示类似于 iOS 设备的警报/通知?
谢谢
抱歉这么久才回复,忙于自己的项目。无论如何,最简单的路线就是点击,这很容易。这是一个概念示例;
<Grid>
<Grid.Resources>
<Storyboard x:Key="SlidePanelDown">
<ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="grid">
<EasingThicknessKeyFrame KeyTime="0:0:0.3" Value="0"/>
</ThicknessAnimationUsingKeyFrames>
</Storyboard>
<Storyboard x:Key="SlidePanelUp">
<ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="(FrameworkElement.Margin)" Storyboard.TargetName="grid">
<EasingThicknessKeyFrame KeyTime="0:0:0.3" Value="0,-225,0,0"/>
</ThicknessAnimationUsingKeyFrames>
</Storyboard>
</Grid.Resources>
<Grid.Triggers>
<EventTrigger RoutedEvent="ToggleButton.Checked" SourceName="button">
<BeginStoryboard Storyboard="{StaticResource SlidePanelDown}"/>
</EventTrigger>
<EventTrigger RoutedEvent="ToggleButton.Unchecked" SourceName="button">
<BeginStoryboard x:Name="SlidePanelUp_BeginStoryboard" Storyboard="{StaticResource SlidePanelUp}"/>
</EventTrigger>
</Grid.Triggers>
<Grid x:Name="grid" Width="100" Height="250" VerticalAlignment="Top" Margin="0,-225,0,0">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Rectangle Fill="Green"/>
<ToggleButton x:Name="button" Grid.Row="1" Content="Click Me" Cursor="Hand"/>
</Grid>
</Grid>
要让它真正可拖动,它需要更多的努力,但如果你真的想要那种效果是可能的,但这应该是一个好的开始。希望这可以帮助!
我用的是弹窗控件,比较适合我的情况。您可以在此处找到文档。