wpf的PixelLab.Wpf切换效果

简介: wpf的PixelLab.Wpf切换效果

在wpf的开发过程中,页面的切换可以用Visibility来动态控制显示和隐藏,但是在wpf的开发中,关键还是要增加一些动画效果,提高系统的用户体验,自己可根据API写一些函数来实现简单的动画,网上也有不少开源的动态切换效果。

随着web的开发兴起,wpf虽然也能实现不少好看的效果,但是社区支持的热度也不是那么高,都是几年前所支持的类库了。

使用PixelLab.Wpf可以做一些动态效果的wpf切换,而且是开源的,github的网址是:https://github.com/thinkpixellab/bot

下边具体介绍一下使用方法:

//定义pixlab的命名空间,并需要在app或者style的xaml页面中,配置PixelLab的切换效果;

xmlns:lib="clr-namespace:PixelLab.Wpf.Transitions;assembly=PixelLab.Wpf"

//切换效果很多,可将数组中的lib上都配置上,在github的代码中有

<x:Array x:Key="MyTransitions" Type="{x:Type lib:Transition}">

        <lib:Transition TextSearch.Text="Base"/>

        <lib:FadeTransition Duration="0:0:0.5"

                        TextSearch.Text="Fade"/>

..............

//在要添加切换的wpf页面上,添加pixlab的命名空间

xmlns:lib="clr-namespace:PixelLab.Wpf.Transitions;assembly=PixelLab.Wpf

//添加切换控件的承载控件,类型是ContentControl,通过更换其中的控件,达到切换的效果

<lib:TransitionPresenter x:Name="_mainTranp" Transition="{Binding MainTrans}" Content="{Binding TransObject}"/>

在这里使用绑定的方式,mvvmlight的使用方式可在网上搜索,Transition是切换的效果,即在前边定义的切换效果,Content是其中的切换控件

//动画切换的效果对象

    private Transition _mainTrans = null;

    public Transition MainTrans

    {

        get

        {

            return _mainTrans;

        }

        set

        {

            Set(() => MainTrans, ref _mainTrans, value);

        }

    }

    //动画切换的内容控件

    private object _transObject = null;

    public object TransObject

    {

        get

        {

            return _transObject;

        }

        set

        {

            Set(() => TransObject, ref _transObject, value);

        }

    }


//代码中按以下设置即可达到效果

TransObject = null;

MainTrans = "切换的效果"

TransObject = "切换的对象";

以上即能达到控件的切换效果。

相关文章
WPF-ComplexLayout
WPF-ComplexLayout-DockPanel
261 0
WPF-ComplexLayout
|
C# 容器
WPF 3D:使用GeometryModel3D的BackMaterial
原文 WPF 3D:使用GeometryModel3D的BackMaterial 使用BackMaterial,我们可以定义3D物体的内部材质(或者说是背面),比如,我们定义一个四方体容器,外面现实的是普通材质,里面的则是内部材质。
1363 0
WPF 3D:使用GeometryModel3D的BackMaterial
|
数据可视化 C#
WPF 中的 NameScope
原文:WPF 中的 NameScope 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1030 0
|
C# 图形学 数据格式
WPF中的3D Wireframe
原文:WPF中的3D Wireframe WPF不支持画三维线,但开发人员提供了ScreenSpaceLines3D 类用于实现这个功能。
1334 0
|
C#
wpf简单的绘图板
原文:wpf简单的绘图板 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a771948524/article/details/9323121 ...
886 0
|
C#
使用WPF实现3D场景[一]
原文:使用WPF实现3D场景[一] 在这篇文章里,将介绍如何实现一个简单的三维场景,一个三维的空间,包括空间内的三维物体的组合. 首先介绍一下一个三维场景里的基本元素: 先是定义一个简单的三维的场景环境 代码如下: 以上是定义了一个名称叫做 myViewport 的的三维场景,接下来可以在这个三位场景里添加一些元素: 元素一:照相机 照相机是三维场景内用户的视角,当然照相机也是唯一的。
1636 0
|
C#
浅谈WPF的VisualBrush
原文:浅谈WPF的VisualBrush     首先看看VisualBrush的解释,msdn上面的解释是使用 Visual 绘制区域,那么我们再来看看什么是Visual呢?官方的解释是:获取或设置画笔的内容,Visual 是直接继承自DependencyObject,UIElement也是直接继...
2224 0
|
C# UED
WPF 使用DMSkin for WPF 快速搭建漂亮的WPF程序
原文:WPF 使用DMSkin for WPF 快速搭建漂亮的WPF程序 DMSkin-for-WPF是一个基于WPF的.Net WPF开源界面库,实现了无边框的WPF开发方案,内置部分控件模板. 你可以参照模板自行修改完善。
2081 0
|
C# 存储
WPF中的MatrixTransform
原文:WPF中的MatrixTransform                                             WPF中的MatrixTransform                                                                              周银辉虽然在WPF中可以使用TranslateTransform、RotateTransform、ScaleTransform等进行几何变换,但我们也可以使用更底层的MatrixTransform(矩阵变换)来进行更复杂的复合变换。
1363 0

热门文章

最新文章