【问题标题】:C# / WPF Object animated appearanceC#/WPF 对象动画外观
【发布时间】:2017-02-01 12:18:11
【问题描述】:

我写了一个小应用来管理工作时间。

当我的鼠标进入窗口时,会出现一个查看更多信息的选项(图片中的绿色字段)Application on Hover 单击绿色区域后,椭圆应从下到上缓慢出现(图片中的红色区域)Application expand information 此刻我只是瞬间出现。 这是我的代码:

 private void addEvents()
    {
       [...]
        gridExpandInfo.MouseUp += GridExpandInfo_Click;
        gridExpandInfo.MouseDown += GridExpandInfo_Click;

        btnHideInfoPanel.Click += BtnHideInfoPanel_Click;
    }

    private void BtnHideInfoPanel_Click(object sender, RoutedEventArgs e)
    {
        gridInformationPanel.Visibility = Visibility.Hidden;
        gridExpandInfo.Visibility = Visibility.Visible;
    }

    private void GridExpandInfo_Click(object sender, MouseButtonEventArgs e)
    {
        gridInformationPanel.Visibility = Visibility.Visible;
        gridExpandInfo.Visibility = Visibility.Hidden;
    }

【问题讨论】:

    标签: c# .net wpf .net-4.0


    【解决方案1】:

    我发现 smth 那是动画我的网格的外观。

    <Storyboard x:Key="infoIn">
            <DoubleAnimation BeginTime="0:0:0" Duration="0:0:2" Storyboard.TargetName="gridInformationPanel" Storyboard.TargetProperty="Height" From="0" To="248">
    
            </DoubleAnimation>
        </Storyboard>
        <Storyboard x:Key="infoOut">
            <DoubleAnimation BeginTime="0:0:0" Duration="0:0:2" Storyboard.TargetName="gridInformationPanel" Storyboard.TargetProperty="Height" From="248" To="0">
    
            </DoubleAnimation>
        </Storyboard>
    

    启动动画的是.cs文件:

       private void BtnHideInfoPanel_Click(object sender, RoutedEventArgs e)
        {
            Storyboard sb = FindResource("infoOut") as Storyboard;
            sb.Begin(informationPanel);
            sb.Completed += Sb_Completed;
    
        }
    
        private void Sb_Completed(object sender, EventArgs e)
        {
            gridExpandInfo.Visibility = Visibility.Visible;
        }
    
        private void GridExpandInfo_Click(object sender, MouseButtonEventArgs e)
        {
            gridInformationPanel.Visibility = Visibility.Visible;
            gridExpandInfo.Visibility = Visibility.Hidden;
            Storyboard sb = FindResource("infoIn") as Storyboard;
            sb.Begin(informationPanel);
    
        }
    

    但不知何故,我的 gridExpandInfo 也会消失。 任何人都知道如何更改动画以开始在其端点构建网格直到其起点?

     <Grid x:Name="gridInformationPanel" Width="248" Height="248" Margin="26">
            <Ellipse x:Name="informationPanel"  Fill="#FFFF0505" Stroke="Black" StrokeThickness="2">
                <Ellipse.Clip>
                    <RectangleGeometry Rect="0,25,248,248"/>
                </Ellipse.Clip>
    
            </Ellipse>
            <Button x:Name="btnHideInfoPanel" Width="20" Height="20" Margin="114,24,114,204" BorderBrush="{x:Null}"  >
                <Button.Background>
                    <ImageBrush ImageSource="UserControls/Images/Button-Eject-icon-down.png"/>
                </Button.Background>
            </Button>
        </Grid>
    

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 1970-01-01
      相关资源
      最近更新 更多