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 = "切换的对象";

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

相关文章
|
5月前
|
存储 C# 索引
WPF/C#:BusinessLayerValidation
WPF/C#:BusinessLayerValidation
38 0
WPF-ComplexLayout
WPF-ComplexLayout-DockPanel
258 0
WPF-ComplexLayout
|
C# 容器
WPF 3D:使用GeometryModel3D的BackMaterial
原文 WPF 3D:使用GeometryModel3D的BackMaterial 使用BackMaterial,我们可以定义3D物体的内部材质(或者说是背面),比如,我们定义一个四方体容器,外面现实的是普通材质,里面的则是内部材质。
1355 0
WPF 3D:使用GeometryModel3D的BackMaterial
|
数据建模 C#
WPF InkCanvas 毛笔效果
原文:WPF InkCanvas 毛笔效果 1、先来看看InkCanvas的一般用法:                                                                                 2、自定义InkCanvas,实现毛笔效果...
1267 0
|
C# 前端开发
WPF 小技巧
原文:WPF 小技巧 在使用mvvm模式开发时,对于Command的绑定是一件很伤脑筋的事情,尽管有强大的Blend类库支持: xmlns:Custom="http://www.galasoft.ch/mvvmlight"xmlns:i="http://schemas.
774 0
|
C#
wpf简单的绘图板
原文:wpf简单的绘图板 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a771948524/article/details/9323121 ...
879 0
|
C#
使用WPF实现3D场景[一]
原文:使用WPF实现3D场景[一] 在这篇文章里,将介绍如何实现一个简单的三维场景,一个三维的空间,包括空间内的三维物体的组合. 首先介绍一下一个三维场景里的基本元素: 先是定义一个简单的三维的场景环境 代码如下: 以上是定义了一个名称叫做 myViewport 的的三维场景,接下来可以在这个三位场景里添加一些元素: 元素一:照相机 照相机是三维场景内用户的视角,当然照相机也是唯一的。
1628 0
|
C#
使用WPF实现3D场景[二]
原文:使用WPF实现3D场景[二] 在上一篇的文章里我们知道如何构造一个简单的三维场景,这次的课程我将和大家一起来研究如何用代码,完成对建立好了的三维场景的观察。
1150 0
|
C#
浅谈WPF中的PreviewTextInput
原文:浅谈WPF中的PreviewTextInput     今天在使用TextBox的TextInput事件的时候,发现无论如何都不能触发该事件,然后百思不得其解,最后在MSDN上找到了答案:TextInput 事件可能已被标记为由复合控件的内部实现进行处理。
1204 0