標籤:des style blog http color io os 使用 ar
在上篇 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(樣式庫),下個版本中將會加入。
組件:Windows.Andy.Code4App.dll
Windows.Andy.Code4App.dll Win8.1/WP8.1通用類庫@ver1.0.1