繁体   English   中英

当鼠标进入窗口时,使WPF网格向上滑动

[英]Making WPF grid slide up when a mouse enters the window

我目前有XAML:

<Grid Name="WindowGrid">
    <Grid Height="66" HorizontalAlignment="Stretch" Margin="0" Name="ControlsGrid" VerticalAlignment="Bottom" Background="#B4000000" />
</Grid>

我想要的是当鼠标进入窗口(或者甚至是WindowGrid)时,ControlGrid会向上滑动,反之亦然(当光标离开时,它向下滑动)。 我在WPF / XAML方面经验不足,在WinForms方面拥有最丰富的经验。 我知道有一种方法可以用故事板/触发器来做到这一点,但我看到的例子太混乱了。

使用事件触发器执行此操作:

<Grid Name="WindowGrid">

    <Grid.Triggers>
        <EventTrigger RoutedEvent="MouseEnter">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation 
                        Storyboard.TargetName="ControlsGrid" 
                        Storyboard.TargetProperty="(Grid.Height)"
                        From="0" 
                        To="66" 
                        Duration="0:0:0.5" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
        <EventTrigger RoutedEvent="MouseLeave">
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation 
                        Storyboard.TargetName="ControlsGrid"
                        Storyboard.TargetProperty="(Grid.Height)"
                        From="66" 
                        To="0" 
                        Duration="0:0:0.5" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </Grid.Triggers>

    <!-- 
        This is a sample content to demostrate animation;
        Without it 'WindowGrid' will be collapsed.
    -->
    <ListBox />

    <Grid Margin="0" Name="ControlsGrid" VerticalAlignment="Bottom" Background="#B4000000" />
</Grid>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM