精华内容
下载资源
问答
  • WPF 页面切换效果

    2018-08-14 10:02:00
    WPF 页面切换效果 原文:WPF 页面切换效果最近做一个有页面切换的吧.. ...因为Demo中是带了淡入淡出的页面效果的.. 我就想研究一下这个效果是怎么实现的.. 发现找不到.. 1 public partial ...
    原文:WPF 页面切换效果

    最近做一个有页面切换的吧..

    我觉得这个功能是比较基础的吧..

    在网上百度了一下..

    用NavigationWindow的比较好..

    因为Demo中是带了淡入淡出的页面效果的..

    我就想研究一下这个效果是怎么实现的..

    发现找不到..

     

     1  public partial class MainWindow : NavigationWindow
     2     {
     3         public MainWindow()
     4         {
     5             InitializeComponent();
     6         }
     7         private void NavigationWindow_Navigating(object sender, NavigatingCancelEventArgs e)
     8         {
     9             if (Content != null && !_allowDirectNavigation)
    10             {
    11                 e.Cancel = true;
    12                 _navArgs = e;
    13                 this.IsHitTestVisible = false;
    14                 DoubleAnimation da = new DoubleAnimation(0.3d, new Duration(TimeSpan.FromMilliseconds(100)));
    15                 da.Completed += FadeOutCompleted;
    16                 this.BeginAnimation(OpacityProperty, da);
    17             }
    18             _allowDirectNavigation = false;
    19         }
    20 
    21         private void FadeOutCompleted(object sender, EventArgs e)
    22         {
    23             (sender as AnimationClock).Completed -= FadeOutCompleted;
    24 
    25             this.IsHitTestVisible = true;
    26 
    27             _allowDirectNavigation = true;
    28             switch (_navArgs.NavigationMode)
    29             {
    30                 case NavigationMode.New:
    31                     if (_navArgs.Uri == null)
    32                     {
    33                         NavigationService.Navigate(_navArgs.Content);
    34                     }
    35                     else
    36                     {
    37                         NavigationService.Navigate(_navArgs.Uri);
    38                     }
    39                     break;
    40                 case NavigationMode.Back:
    41                     NavigationService.GoBack();
    42                     break;
    43 
    44                 case NavigationMode.Forward:
    45                     NavigationService.GoForward();
    46                     break;
    47                 case NavigationMode.Refresh:
    48                     NavigationService.Refresh();
    49                     break;
    50             }
    51 
    52             Dispatcher.BeginInvoke(DispatcherPriority.Loaded,
    53                 (ThreadStart)delegate()
    54                 {
    55                     DoubleAnimation da = new DoubleAnimation(1.0d, new Duration(TimeSpan.FromMilliseconds(200)));
    56                     this.BeginAnimation(OpacityProperty, da);
    57                 });
    58         }
    59 
    60         private bool _allowDirectNavigation = false;
    61         private NavigatingCancelEventArgs _navArgs = null;
    62     }

     

    posted on 2018-08-14 10:02 NET未来之路 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/lonelyxmas/p/9472852.html

    展开全文
  • WPF页面淡出淡入切换效果

    热门讨论 2011-09-04 11:15:15
    WPF页面淡出淡入切换效果 WPF页面淡出淡入切换效果
  • WPF页面动画效果切换

    千次阅读 2018-10-18 21:41:15
    WPF中,动画是通过故事板(Storyboard)创建的。定义动画的最好方法是使用Expression Blend这样的设计器。但我,对,就是我,只用了短短几行代码就实现了动画的切换效果。当然这效果是比较简单的淡入淡出。如果想...

    我先介绍我当时的目的,最开始的时候,我主要是想做一个窗口,这个窗口大概有三个界面,为提高逼格,突发奇想到这三个界面能不能动态切换,于是便有了这篇文章。

    在WPF中,动画是通过故事板(Storyboard)创建的。定义动画的最好方法是使用Expression Blend这样的设计器。但我,对,就是我,只用了短短几行代码就实现了动画的切换效果。当然这效果是比较简单的淡入淡出。如果想做一个完美的动画,建议移步Expression Blend。因为前几个页面有写见不得人的东西,所以就不放出来了,就放一个动画效果吧。。。。

    实现动画效果要用到一个非常重要的对象就是Storyboard。在Storyboard对象中包含一个非常重要的时间线(Timeline),时间线可让应用程序的任何元素中类型为Double,Point,或Color的属性产生动画。本动画效果就是基于这个理论的。

    要实现页面逐渐消失或逐渐呈现,主要改变的是Opacity的属性,令Opacity由1.0-0.0或0.0-1.0逐渐改变就可以实现。基于这种思想,就可以很容易实现了。

    我主要使用的是时间线控件——DoubleAnimation(因为Opacity的属性是Double),其他更多控件,详见https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/ms614242%28v%3dvs.95%29其中已经给出了详细用法,定义时间线可以用代码或XMAL来实现,因为我主张代码逻辑与界面应该能分开就分开,所以我用的是XAML,代码实现见上链接。

    首先,创建一个wpf项目,然后往解决方案添加三个Page(页面)。好,这是第一步,准备好之后就可以实现动画了,每一个Page都可以做一个动画,本文就只拿一个Page做演示,打开Page的XAML如下:

    往下添加如下代码

    <Grid.Background>
                <ImageBrush ImageSource="/MesSystemForPc;component/HelpFormImage/blue.jpg" Stretch="Fill"/><!--我弄的把一张名为blue的图片当作背景-->
            </Grid.Background>
            <Grid.RowDefinitions>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>

    加上上面代码后界面变成这样,然后你自己拖个button进去,待会要用到

    然后就到高潮了,动画的制作添加如下代码(x:Key="LastPageClose"是唯一标识,等会按键触发要用到,Storyboard.TargetName="page1":设置对象,这里要把对象设为这个Page,就是这个page的名字 Storyboard.TargetProperty="Opacity":要变化的属性 Duration="00:00:1.5" :时间线,表示从0秒到1.5秒   From="1.0" To="0.0":from....to...是变化范围,表示从1变到0.

        <Page.Resources>
            <Storyboard x:Key="LastPageClose">
                <DoubleAnimation Storyboard.TargetName="LastPageName" Storyboard.TargetProperty="Opacity" Duration="00:00:1.5" From="1.0" To="0.0"/>
            </Storyboard>
        </Page.Resources>

    接下来就是触发动画了

            private void button_Click(object sender, RoutedEventArgs e)
            {
               BeginStoryboard(Resources["LastPageClose"] as System.Windows.Media.Animation.Storyboard);//引用前面定义的资源(Resources),触发故事板
            }

     

    接下来你就可以看到最开始的动画了。

    如果你觉得有用,点个赞给个关注呗,不懂得可以问哦,嘤嘤

    展开全文
  • WPF模拟翻书页面效果

    2018-10-09 11:39:36
    WPF模拟翻书页面效果,像一本书翻开的界面效果,有动态效果,能左右翻页
  • WPF页面

    2021-02-01 17:35:14
    WPF实现窗口内页面跳转 利用WPF中的Frame控件和Page类实现窗口内的页面跳转。下面我们基于上一篇介绍的菜单栏实现窗口内的页面跳转。 步骤 第一步,基于原有菜单栏的xaml代码,在MainWindow.xaml中添加Frame控件 <...

    WPF实现窗口内页面跳转

    利用WPF中的Frame控件和Page类实现窗口内的页面跳转。下面我们基于上一篇介绍的菜单栏实现窗口内的页面跳转。

    步骤

    第一步,基于原有菜单栏的xaml代码,在MainWindow.xaml中添加Frame控件

    <Window ...>
      <Grid>
        ...
        <Frame x:Name="mainframe" Grid.Row="1"
        NavigationUIVisibility="Hidden"></Frame>
      </Grid>
    </Window>
    

    第二步,新建页面PageIndex,PageLight,PageCamera,PagePlc,PageMes,PageHelp。
    新建页面方法

    第三步,修改MainWindow.xaxml.cs中的菜单栏响应函数

    在菜单栏的响应函数中,将page的内容传给Frame。如下,在首页和帮助的响应函数中实例化了页面类赋值给mainframe的内容。

    MainWindow.xaxml.cs文件:

    ...
    namespace wpfbase
    {
      public partial class MainWindow : Window
      {
        PageIndex pageindex;
        PageHelp pagehelp;
        ...
        private void IndexClick(object sender, RoutedEventArgs e) {
          if(pageindex == null)
            pageindex = new PageIndex();
          mainframe.Content = pageindex;
        }
        ...
        private void HelpClick(object sender, RoutedEventArgs e) {
          if(pagehelp == null)
            pagehelp = new PageHelp();
          mainframe.Content = pagehelp;
        }
      }
    }
    
    

    第四步,为PageIndex,PageLightSet,PageCameraSet,PagePlcSet,PageMesSet,PageHelp等页面添加页面内容

    PageIndex.xaml:

    <Page x:Class="wpfbase.PageIndex"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
          xmlns:local="clr-namespace:wpfbase"
          mc:Ignorable="d" 
          d:DesignHeight="325" d:DesignWidth="525"
          Title="PageIndex">
    
        <Grid>
            <TextBox>这里是首页!</TextBox>
        </Grid>
    </Page>
    

    PageHelp.xaml:

    <Page x:Class="wpfbase.PageHelp"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
          xmlns:local="clr-namespace:wpfbase"
          mc:Ignorable="d" 
          d:DesignHeight="325" d:DesignWidth="525"
          Title="PageHelp">
    
        <Grid>
            <TextBox>这里是帮助文档</TextBox>
        </Grid>
    </Page>
    

    第五步,在MainWindow.xaml.cs中实例化页面,将首页内容传至Frame

    ...
        public MainWindow()
        {
          InitializeComponent();
          pageindex = new PageIndex();
          mainframe.Content = pageindex;
        }
    ...
    

    第六步,为PageIndex,PageLightSet,PageCameraSet,PagePlcSet,PageMesSet,PageHelp等页面添加返回按钮

    PageIndex.xaml例

    <Page x:Class="wpfbase.PageIndex"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
          xmlns:local="clr-namespace:wpfbase"
          mc:Ignorable="d" 
          d:DesignHeight="325" d:DesignWidth="525"
          Title="PageIndex">
      <DockPanel>
        <TextBox DockPanel.Dock="Top">这里是首页!</TextBox>
        <Button Content="返回" Click="GoBack"/>
      </DockPanel>
    </Page>
    

    第七步,为PageIndex,PageLightSet,PageCameraSet,PagePlcSet,PageMesSet,PageHelp等页面添加返回按钮响应函数

    PageIndex.xaml.cs例

    ...
      public partial class PageIndex : Page
      {
        public PageIndex()
        {
          InitializeComponent();
        }
        private void GoBack(object sender, RoutedEventArgs e) {
          if(NavigationService.GetNavigationService(this).CanGoBack)
            NavigationService.GetNavigationService(this).GoBack();
        }
      }
    ...
    

    效果如下:

    wpf窗口内页面跳转

    展开全文
  • WPF页面嵌套

    千次阅读 2019-06-17 19:56:35
    WPF中如何把一个页面嵌套在一个床口中呢? 首先要创建一个用户控件,把要嵌套的内容写到用户控件中。 然后在主窗口中放一个按钮和选项卡设置好样式,给窗口一个加载事件、给按钮一个点击事件 再声明一个全局变量...

    开发工具与关键技术:Visual Studio 2015 WPF MAXL
    作者:黄冠棋
    撰写时间:2019年06月05日
    在WPF中如何把一个页面嵌套在一个床口中呢?
    首先要创建一个用户控件,把要嵌套的内容写到用户控件中。
    在这里插入图片描述
    然后在主窗口中放一个按钮和选项卡设置好样式,给窗口一个加载事件、给按钮一个点击事件
    在这里插入图片描述
    再声明一个全局变量,在窗口加载事件中把它赋值为窗口中的选项卡
    在这里插入图片描述
    然后在按钮的点击事件中实例化用户控件,调用AddItem添加选项卡的方法,把实例化的用户控件作为参数传递过去
    在这里插入图片描述
    最后在AddItem方法里把传递过来的用户控件添加到选项卡中
    在这里插入图片描述
    运行效果:

    在这里插入图片描述

    展开全文
  • wpf页面切换特效

    热门讨论 2012-07-26 17:01:22
    wpf制作的页面切换特效
  • Wpf 抽屉效果

    2018-09-26 00:02:00
    原文:Wpf 抽屉效果在android开发中有抽屉效果,就是在页面的边上有一个按钮,可以通过点击或者拖拽这个按钮,让页面显示。Wpf也可以实现相同的效果。 主要是通过一个DoubleAnimation和RectAnimation动画实现 ...
  • WPF实现有动画效果页面切换
  • WPF超炫效果

    2014-04-15 14:15:48
    Follow The Pointer 是开发WPF 动画的比较好的实例,通过了解其代码,你可以轻松构建属于你自己的WPF 动画
  • 一般wpf页面跳转采用的是什么呢,是show一个窗口还是其他方式, 求个简单点的例子,学习下窗体跳转的方式, 有比如触摸那种滑动的也可以。
  • WPF页面搭建

    2020-12-04 22:25:44
    WPF项目中,页面布局其实并不是很难,只要规划好页面的布局格式就很好搭建了,使用页面布局控件去自由搭建(布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排列控件,Grid、StackPanel、...
  • WPF页面切换源码下载

    热门讨论 2011-08-01 10:50:40
    WPF页面切换源码 本文包括以下内容: 1. 如何实现Page切换 2. 如何为Page增加淡入淡出(Fade)效果 3. 示例 4. 下一步 如何实现Page切换 从MFC到Winform几乎切换方式是一致的,找到一个容器,然后将Dialog或是User...
  • WPF页面动态生成

    千次阅读 2019-06-23 14:41:08
    页面初始化与动态加载
  • Wpf 动画加载页面

    2017-09-22 15:24:28
    wpf 简单的实现页面动画加载效果 wpf 简单的实现页面动画加载效果 wpf 简单的实现页面动画加载效果 wpf 简单的实现页面动画加载效果 wpf 简单的实现页面动画加载效果
  • Wpf效果

    2019-10-06 10:01:21
    wpf 提供了可以应用于任何元素的可视化效果效果的目标是为润色文本、图像、按钮以及其他控件的外观,提供一种简单的声明方法。 wpf常用的效果类如下所示: BlurEffect 模糊元素中的内容 属性包括:Radius、...
  • WPF 投影效果

    2018-03-08 17:19:54
    上图分别为System.Windows.Media.Effects类的结构,控件Effects的代码设置和xaml页面设置效果图如下:
  • WPF页面布局

    2019-05-15 21:42:15
    开发工具与关键技术:开发工具:VS 关键技术:页面布局 一、 视图效果 二、 代码 泊靠式布局特点: 1、 指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。 2、 填充整个剩余空间 3、 DockPanel...
  • WPF 等待页面动画

    2014-01-13 13:22:42
    WPF 等待页面动画
  • WPF 时钟效果

    2019-05-28 15:07:17
    开发工具与关键技术:WPF 先用Visual Studio新建一个WPF窗口,随便命名,在解决方案资源管理器里新建一个images文件夹存放时钟图片;图片自己去百度找; 双击创建的xaml窗口,编辑设计器, Xaml代码如下: <...
  • WPF入门实例,又来显示页面“动”态效果,非常不错,可大大增加用户体验
  • WPF效果.zip

    2019-08-07 09:56:42
    WPF特效,3D相册效果,wpfbagotricks,WPFImitate3D,WPFPictureRolling,WPFTheSlidingSwitch 可以查看效果,瀑布流效果页面跳转特效等

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,205
精华内容 3,282
关键字:

wpf页面效果