0

谁能建议如何从顶部实现可拉视图以在 WPF 中显示类似于 iOS 设备的警报/通知?

谢谢

4

2 回答 2

1

抱歉这么久才回复,忙于自己的项目。无论如何,最简单的路线就是点击,这很容易。这是一个概念示例;

<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>

要让它真正可拖动,它需要更多的努力,但如果你真的想要那种效果是可能的,但这应该是一个好的开始。希望这可以帮助!

于 2013-02-10T06:15:21.437 回答
0

我用的是弹窗控件,比较适合我的情况。您可以在此处找到文档。

于 2013-02-11T22:32:36.923 回答