• Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.1


    在上篇 Windows.Andy.Code4App.dll  Win8.1/WP8.1通用类库@ver1.0.0 已经对Win8.1和WP8.1部分扩展通用类库做了说明,这篇继续对通用类库做扩展。写的不好,还请各路大神多多指教~

    Windows.Andy.Code4App  Win8.1/WP8.1通用类库@ver1.0.1项目结构:

    比较上个1.0.0可以看到多了以下扩展:Async(异步类)、 Converter(转换类)、Device(设备类)、Encrypt(加密类)、Helper(帮助类)、Net(网络类)。下面对这些扩展类做一一介绍(有的内容较多,只列出扩展方法)。

    一、Async(异步类)

    1、AsyncProperty

    异步属性,这里主要解决的问题是在Mvvm设计模式中实现任意依赖属性的异步绑定。比如,Image控件的Source属性绑定,有时会直接绑定一个网络地址但同时又想先查看本地是否已经存在指定的图片文件,查看本地是否存在是异步的,而对于这个Source绑定的值也要求具有异步性,这时就可以使用AsyncProperty。

    Image绑定代码示例:

    在Model中定义一个异步属性:

    通过异步方法获取值:

    在View中写法如下:

    二、Converter(转换类)

    转换类目前包含:BooleanToDataTemplateConverter、BooleanToDoubleConverter、BooleanToVisibilityConverter、ColorToBrushConverter、DoubleToIntConverter

    很简单不做解释和实例。

    三、Device(设备类)

    1、DeviceHelper

    这里只做了获取设备id的方法。

    方法名称:GetDeviceId()

    四、Encrypt(加密类)

    1、MD5

    对string和byte[]取MD5。

    2、DES

    因为WP和Win8里微软没有提供DES的加密解密类,但开发过程中有时要遇到,所以就把以前的des加密方法改造下就可以了。

    方法:加密/解密字符串、加密/解密字符数组。

    五、Extension(扩展类)

     1、CommonObjectEx

    ①、CollectionEx

    对IEnumerable<T>扩展:AsEnumerable<T>、And<T>、And<T>、ForEach<T>

    对List<T>扩展:LockAdd<T>、LockRemove<T>

    对ObservableCollection<T>扩展:LockAdd<T>、LockRemove<T>

    ②、DateTimeEx

    只做了一个扩展:ToUnixTime

    ③、ObjectArraryEx

    扩展:ToEnumerable<T>

    ④、StringEx

    这个扩展较多,只是一些普通方法需求的封装:

    GetBytesWithUTF8、GetBytesWithUnicode、UrlEncode、UrlDecode、AsUri、UpperFirst、CheckStringIsNullOrBlankOrEmpry

    2、DependencyObjectEx

    ①、BitmapImageEx

     扩展:WaitForLoadedAsync、LoadAsync、SetSourceAsync、LoadFromBase64String

    ②、ControlEx

    扩展:GoToVisualStateAsync

    ③、FrameworkElementEx

    扩展:WaitForLoadedAsync、WaitForUnloadedAsync、WaitForLayoutUpdateAsync、WaitForNonZeroSizeAsync、WaitForImagesToLoad

    ④、GridViewEx

    扩展:ItemIsVisibility

    ⑤、ImageEx

    这里主要对Image Opened做动画扩展,View写法如下:

    上面的xaml标识随即动画淡入。这两个可以联合使用也可以单独去适用,看自己的开发需求。随机动画包含:FadeIn、SlideUp、SlideLeft、SlideDown、SlideRight

    ⑥、ScrollViewerEx

    扩展:ScrollToHorizontalOffsetWithAnimation、ScrollToVerticalOffsetWithAnimation、ZoomToFactorWithAnimation、ChangeView

    ⑦、StoryboardEx

    扩展:BeginAsync 异步开始动画

    ⑧、StyleEx

    扩展:GetPropertyValue 获取style样式中指定依赖属性的对象

    ⑨、TextBlockEx

    扩展:GetCharacterRect、

    ⑩、WriteableBitmapEx

    扩展:WaitForLoadedAsync、LoadAsync、FromBitmapImage、SetSourceAsync、SaveToFile

    3、DependencyPropertyEx

    ①、TiltEffect

    添加Enabled依赖属性,指定依赖对象是否具有倾斜特性。

    ②、VisualStateEx

    添加State依赖属性,指定依赖对象转换到指定状态。

    六、Helper

    1、CommonHelper

    普通帮助类,里面包含常用的一些方法:

    IsConnectedToInternet、StreamToBytes、ObjToBytes、BytesToObj、AsEncodingString、FormDataCombine

    2、ScrollViewHelper

    包含方法:ScrollGridViewToItem

    3、VisualStateHelper

    包含方法:GetStoryboardForVisualState。根据指定的VisualState获取对应的Storyboard

    七、Net

    这里主要是对网络的操作

    1、WebData

    ①、Get、 Form表单需要用户名和密码方式获取数据:GetFromUrlWithAuthReturnString、GetFromUrlWithAuthReturnByteArrary、GetFromUrlWithAuthReturnStream

    ②、Get、Form表单不需要用户名和密码方式获取数据:GetFromUrlReturnString、GetFromUrlReturnByteArrary、GetFromUrlReturnStream

    ③、Post、Form表单需要用户名和密码方式获取数据:PostToUrlWithAuthReturnString、PostToUrlWithAuthReturnByteArrary、PostToUrlWithAuthReturnStream

    ④、Post、Form表单不需要用户名和密码方式获取数据:PostToUrlReturnString、PostToUrlReturnByteArrary、PostToUrlReturnStream

    ⑤、Get、Body JsonData需要用户名和密码方式获取数据:GetFromUrlWithAuthAndJsonReturnString、GetFromUrlWithAuthAndJsonReturnStream、GetFromUrlWithAuthAndJsonReturnByteArrary

    ⑥、Get、Body JsonData不需要用户名和密码方式获取数据:GetFromUrlWithJsonReturnString、GetFromUrlWithJsonReturnStream、GetFromUrlWithJsonReturnByteArrary

    ⑦、Post、Body JsonData需要用户名和密码方式获取数据:PostToUrlWithAuthAndJsonReturnString、PostToUrlWithAuthAndJsonReturnStream、PostToUrlWithAuthAndJsonReturnByteArrary

    ⑧、Post、Body JsonData不需要用户名和密码方式获取数据:PostToUrlWithJsonReturnJsonString、PostToUrlWithJsonReturnStream、PostToUrlWithJsonReturnByteArrary

    2、WebDownFile

    这个类主要是提供通过Http或者BackgroundDownloader来实现文件的下载和保存

    包含的方法:SaveAsyncWidthHttpAndTimeOut、SaveAsyncWithHttp、SaveAsyncWithBackgroundDownloader、SaveAsyncWithBackgroundDownloaderAndProgress

    以上就是@ver1.0.1版本新扩展的内容,有些方法做了很多的重载,可以自行查看。

    项目中预留了Animation(动画类库)、Contol(控件库)以及style(样式库),下个版本中将会加入。

    组件下载地址:因某家无底线的篡改抄袭已取消

  • 相关阅读:
    【暑假】[深入动态规划]UVa 1380 A Scheduling Problem
    【暑假】[深入动态规划]UVa 12170 Easy Climb
    【暑假】[深入动态规划]UVa 10618 The Bookcase
    【暑假】[深入动态规划]UVa 10618 Fun Game
    【暑假】[深入动态规划]UVa 10618 Fixing the Great Wall
    【暑假】[深入动态规划]UVa 1627 Team them up!
    【暑假】[深入动态规划]UVa 10618 Tango Tango Insurrection
    【暑假】[深入动态规划]UVa 1412 Fund Management
    【暑假】[实用数据结构]UVAlive 4670 Dominating Patterns
    UML类图关系大全
  • 原文地址:https://www.cnblogs.com/lyandy/p/3981671.html
Copyright © 2020-2023  润新知