如何利用Interception簡化MVVM中的Model和ViewModel的設計

這一篇是“如何利用AOP簡化MVVM中Model和ViewModel的設計”一文的姊妹篇。閱讀本文之前,請一定要先閱讀上一篇,否則你可能對有關問題理解不深。 上一篇說到,我們可以用AOP的方式,具體來說,我們使用了一個第三方的架構(PostSharp)來實現了代碼注入。PostSharp的方式是靜態注入,它是需要改變IL代碼的。請看下面這個,Customer類型裡面的IL代碼其實是被改過的。PostSharp會改變Visual

Silverlight多線程能力(上)

轉自:InfoQ,作者:吳磊。對於多線程其實一直以來都存在很多誤區:比如多任務與多線程就很容易被混為一談,而多線程也常被理所應當的認為是並行等等。而事實卻是:多任務≠多線程、單任務≠單線程、多線程不一定並行,多線程與效能不成線性關係等等,其中道理在這裡不再詳述。筆者認為Silverlight多線程主要作用不是在於提高效能,而是在於使用者體驗,其根本目的是解決使用者體驗中的響應速度,減少單線程帶來的阻塞問題。用一個貼切的例子來形容單線程和多線程的區別:單線程就好像只有一個服務視窗賣票的車站,人們排

Silverlight輕量級查詢對比

轉自:InfoQ,作者:吳磊。資訊系統的本質是對資訊的輸入、查詢、計算、儲存和輸出操作,這就像金融的本質是價值的跨時空交換一樣,雖然資訊系統有各種各樣的“衍生品”但都離不開資訊,離不開資訊的表現形式:結構化與非結構化資料,而結構化資料幾乎已經成為了上世紀90年代以來資訊系統的必需品,譬如資料庫物件、XML標籤化資料、實體類對象,我們都可以認為是結構化資料。特別是在企業級應用中對結構化資料的處理能力往往是技術選型的關鍵計量,本期我們就來深入探討一下Silverlight的資料查詢能力。筆者在《Si

silverlight: how to programming with video device

Using the following code to interact with local video device: 1 if (CaptureDeviceConfiguration.RequestDeviceAccess())2 {3 CaptureSource captureSource = new CaptureSource() { VideoCaptureDevice =

[讀書]金科玉律

1. 帕金森定律: 一個不稱職的官員,可能有三條出路:一是申請退職,把位子讓給能乾的人;二是讓一位能乾的人來協助自己工作;三是聘用兩個水平比自己更低的人當助手。2. 華盛頓合作定律: 一個人敷衍了事,兩個人互相推諉,三個人則永無成事之日。3. 木桶定律: 一隻木桶盛水的多少,並不取決於桶壁上最高的那塊木板,而恰恰取決於桶壁上最短的那塊木板。4. 彼得原理: 在層級組織裡,每個人都會由原本能勝任的職位,晉陞到他無法勝任的職位,無論任何階層中的任何人,或遲或早都將有同樣的遭遇。5. 80/20原則:

如何在Silvelight中顯示GIF圖片

眾所周知,Silverlight本身是沒有處理GIF圖片的能力的,但是有些時候項目中還是有這方面的需求的。那麼,應該如何處理呢?最直接的,也是最先想到的是用Silverlight本身的Animation功能。即對於一個給定的GIF圖片,首先讀入記憶體,然後按照擷取每一幀對應的圖片,最後利用Timer把圖片資訊賦給Image UI控制項。Code Behind 1 List<WriteableBitmap> images = new

Silverlight如何高亮搜尋的關鍵字

嘗試了許多方法之後,發現都不支援Binding的方式來高亮搜尋的關鍵字,但是這對於提高使用者體驗來說是至關重要的。下面使用TextBlock作為顯示內容的容器,對所要顯示的String源做一層轉換即可。View Code 1 private void HighLightString(TextBlock tb, string input, string term) 2 { 3 tb.Inlines.Clear(); 4 var

PostSharp的AOP設計在.NET Remoting中的應用

在.NET Remoting技術中實現使用者的驗證和授權並不那麼容易,尤其是將其宿主在windows service這樣的環境中的時候。大部分時候,我們都需要實現自訂的驗證方式。具體來說也不是那麼複雜,不外乎是在用戶端請求的時候,提交一個相應的憑據(通過CallContext的SetData方法即可),而在服務端(或者準確地說是遠程對象中),我們檢查CallContext中是否有相應的憑據,並且確認其是否合法等等。這裡的一個關鍵是1.

Silverlight 如何?DataContextChanged

在WPF中,任何control的Data Context變化的時候,都會顯示的拋出一個事件,但是在Silverlight 4 中,卻沒有類似的功能。為了滿足需要,我們可以自己來實現。View Code 1 public interface IDataContextChangedHandler<T> where T : FrameworkElement 2 { 3 void OnDataContextChanged(T sender,

Silverlight Tips[1]: How to save file without savefiledialog

在Silverlight中, 如果想要save 檔案到硬碟上,必須要提升許可權, 否則只能儲存到MyDocuments 或者MyPictures之類的檔案夾中。如何提升許可權請參照:提升許可權。 有了較高的權限之後,想要save 檔案就是小菜一碟了。View Code SaveFileDialog dialog = new SaveFileDialog(); var isShow = dialog.ShowDialog(); if

Apply MicroSoft StyleCop in our project

1. What is StyleCop?    StyleCop is a static code analysis tool for developer to check the code style. And it seems similar to FxCop which is another static code analysis tool. StyleCop can excute the code with the special rule that is made by

Silverlight Tips[2]: How to convert image to bytes

在Silverlight中, 任何一個UIElement都可以轉換成writeablebitmap,但是如何把writeablebitmap轉換成bytes呢?View Code public static byte[] ToByteArray(this WriteableBitmap input) { int[] pixels = input.Pixels; int length = pixels.Length * 4;

Silverlight Tips[4]: How to convert bytes to image in WPF

上節講了在Silverlight中如何由image產生bytes,如果把bytes資訊傳給WPF應用,那麼如何產生image呢眾所周知,Silverlight和WPF的庫是不同的,所以不能像上節那樣直接轉換回去。首先,根據bytes資訊以及像素寬度和高度產生Bitmap。View Code public static System.Drawing.Bitmap BitsToBitmapRGB32(Byte[] bytes, int width, int height) {

從十個方面理解Silverlight和Prism

Prism是Silverlight應用中最流行的技術之一,開發人員應該從十個方面來瞭解Prism.1。Prism是一組類庫的集合,是實現Silverlight的最佳實務;  實際上,Prism不僅僅包含基本類庫,同樣也包含原始碼、樣本、快速學習文檔等,最重要的是Prism是一種建立可測試和可維護應用程式的工具。  Silverlight Prism Video:    

RI中的小Bug

1.殘留紅色框框,這個Bug有點BT。估計p&p小組看了後會吐血。2. StockTraderRIBootstrapper中,模組載入的依賴關係不對protected override IModuleCatalog GetModuleCatalog(){ var catalog = new ModuleCatalog(); catalog.AddModule(typeof(MarketModule))

如何利用AOP簡化MVVM中Model和ViewModel的設計

這一篇談一個MVVM中的一個雖然小但卻很實際的問題,就是如何簡化Model和ViewModel的設計。這是我們在項目中總結提煉的一些做法。【備忘】關於MVVM的概念,並不是本文的重點。如果你對MVVM還不熟悉,可以參考這裡。關於MVVM與之前的MVP,MVC設計模式的淵源和比較,還有目前主流的幾個MVVM架構的大致情況,我最近可能再會抽時間另外整理一篇,有興趣的朋友關注一下。有用過MVVM的朋友,都知道我們在項目中需要定義Model和ViewModel。Model指的是資料實體,它負責儲存資料,

用於不同伺服器資料庫之間的資料操作

--建立連結的伺服器 exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '遠程伺服器名或ip地址 ' exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, '使用者名稱 ', '密碼 ' --查詢樣本 select * from ITSV.資料庫名.dbo.表名 --匯入樣本 select * into 表 from ITSV.資料庫名.dbo.表名 --以後不再使用時刪除連結的伺服器

【news】wince 7 preview release。大家可以去看看

http://www.microsoft.com/windowsembedded/en-us/products/windowsce/compact7.mspx在H兄的網站上發現的新東東http://www.cnblogs.com/we-hjb/archive/2010/06/02/1750328.html?login=1#commentform查看相關的preview需要註冊個賬戶就好了。如果你有msn之類的微軟賬戶直接log in

精妙SQL語句集合(收集)

下列語句部分是Mssql語句,不可以在access中使用。SQL分類: DDL—資料定義語言 (Data Definition

【原創】關於wince OS開發面試問題的總結系列之OAL

接著昨天的我們繼續來總結面試時遇到的問題,首先再來一個面試中遇到的非技術類題,做為提神之用,快速回答,不得超過5分鐘。Q0:打水時,有一個5升的筒,一個3升的筒,如何打到4升的水?-------------------------------------------------------------------------------------------------------------昨天我們說到了bootloader,其實大家知道bootloader其實真正和wince系統的關係並不

總頁數: 61357 1 .... 8950 8951 8952 8953 8954 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.