Time of Update: 2018-12-07
我們先來看一看 Microsoft Expression Graphic Designer,該程式用於建立一個供“WPF/E”使用的非常簡單的圖形。圖 1 顯示的是建立過程中的產品。 圖 1. Expression Graphic Designer 工具Expression Graphic Designer 是 Microsoft
Time of Update: 2018-12-07
RenderTransform屬性讓你可以使用transform對象對一個元素進行旋轉,傾斜,縮放及位移操作.共有下面幾種不同的transform對象:RotateTransform: 以指定角度旋轉對象. SkewTransform: 對對象進行傾斜操作.ScaleTransform: 對對象進行放大或者縮小操作.TranslateTransform: 使對象從原座標位移.
Time of Update: 2018-12-07
WPF預設有Aero, Classic, Luna, Royale主題, WPF程式會根據Windows主題決定WPF程式所使用的控制項風格, 而且當Windows主題不是Aero, Luna或Royale, 而是其他主題的話, WPF將會採用比較醜的Classic主題, 那我怎麼讓WPF程式使用指定的主題呢?其實很簡單, 下面執行個體如何設定為Aero主題:在WPF項目中添加PresentationFramework.Aero.dll這個引用, 然後在程式的Resources中加入Code
Time of Update: 2018-12-07
在拙文《讓僵冷的翅膀飛起來——從執行個體談OOP、原廠模式和重構》中,冰汽水提出了一個問題,“如果我想讓RM,
Time of Update: 2018-12-07
使用Popfly GameCreator輕鬆構建Silverlight遊戲--Part2(final)摘要:本文介紹了如何利用Microsoft Popfly Gamecreator輕鬆構建自訂的silverlight小遊戲。本文描述的是建立非玩家部分和勝負情境,Have fun!KeywordsMicrosoft Popfly,Silverlight,Game前面的一篇文章中介紹了如何著手構建一個類似space
Time of Update: 2018-12-07
在建立漂亮UI的同時,我們還需要關注應用程式的效能,WPF尤其如此。下面從MS的文檔中總結出了一些有用的效能最佳化點。在實際編寫的過程中,可以參考。這個Post非完全原創,是根據一些文檔總結出來的。1、建立邏輯樹狀結構的時候,盡量考慮從父結點到子結點的順序構建。因為當邏輯樹狀結構的一個結點發生變化時(比如添加或刪除),它的父結點和所有的子結點都會激發Invalidation。我們應該避免不必要的Invalidation。2、當我們在列表(比如ListBox)顯示了一個CLR對象列表(比如List
Time of Update: 2018-12-07
設計大師Martin Fowler 在《重構——改善既有代碼的設計》一書中,以其精妙的概括能力,徹底對重構技術作了全方位的總結。該書既具備大百科全書般提綱挈領的重構大綱,同時更通過執行個體展現了在軟體設計中重構的魅力。有感於重構藝術予我的震撼,我逐漸嘗試在項目設計中開始重構之旅。在這個旅程中,存在嘗試的猶豫和領悟的感動,然而最終卻令我折服。如今,我希望能通過一個實際的例子,讓讀者也能初次體驗重構的魅力。舉例來說,我打算作一個容器,用來存放每個整數的階乘結果。最初的設計是這樣:public
Time of Update: 2018-12-07
在實際應用中,ControlTemplate是一個非常重要的功能。它協助我們快速實現很Cool的自訂控制項。下面我以Windows Vista
Time of Update: 2018-12-07
使用Popfly GameCreator輕鬆構建Silverlight遊戲--Part1摘要:本文介紹了如何利用Microsoft Popfly Gamecreator輕鬆構建自訂的silverlight小遊戲。本文描述的建立基本情境和玩家部分。Have fun!KeywordsMicrosoft
Time of Update: 2018-12-07
【傳遞事件】WPF在.NET簡單事件通知之上添加了很多基礎結構。傳遞事件的設計使得事件可以與元素樹一起很好的工作。事件發生後,可以在視覺樹和邏輯樹狀結構自動地進行上下傳遞,我們不需要添加任何額外的代碼。傳遞事件使得我們不需要過多關注於視覺樹,這樣封裝對於我們理解WPF的元素合成非常重要。比如,我們點擊一個按鈕的事件,在點擊的時候我們實際上點擊的是一個ButtonChrome或者TextBlock,也就是說我們點擊的是Button的內容元素。正是因為事件可以沿視覺樹傳遞,Button才發現這個事件
Time of Update: 2018-12-07
在前一個Post當中,我從資源編譯行為的角度討論了WPF中的資源。但是,不管是Resource還是Content都是在編譯時間聲明資源。如果我們打破這個限制,不希望指定完全確認的資源地址。WPF提供了一種類似IE地址定位的抽象,它根據應用程式部署的位置決議。WPF將應用程式的起源地點進行概念上的抽象。如果我們的應用程式位於http://yilinglai.cnblogs.com/testdir/test.application。我們應用程式的起源地點是http://yilinglai.cnblo
Time of Update: 2018-12-07
繼續相同的話題:WPF中的資源。這次我將嘗試從另外一個角度來分析WPF中的資源:資源編譯行為,以及如何根據應用程式的需要選擇適當的類型。首先建立一個預設的WPF工程,然後向工程中添加一個ICON資源。在添加資源後,我們可以選擇資源的類型,如所示:的下拉式清單我們可以看到資源所支援的各種類型。主要支援的編譯行為是Resource和Content。如果選擇為Resource,再用文本方式開啟C#工程檔案(*.csproj檔案),其中我們為發現如下的內容: <ItemGroup> &
Time of Update: 2018-12-07
文章目錄 WPF中的布局對象形成模式總結
Time of Update: 2018-12-07
部署Silverlight到產品Web伺服器是一個相當容易的過程,儘管有時候會有一些錯覺——譬如,認為Silverlight需要部署在基於微軟的Web伺服器(IIS)上,事實上, Silverlight不強制一定部署在基於微軟的Web伺服器上,Apache也可以像IIS一樣,輕鬆愉快的支援Silverlight運行。但是還是要那麼一點東東要指出來:Web伺服器通常都只支援有限種已知副檔名的靜態檔案內容。看起來都很好,但是Silverlight引入了兩個新的檔案擴充(.xaml為鬆散XAML檔案;
Time of Update: 2018-12-07
提到RIA開發,大家都會想到Flash。但是現在我們有了另外一種選擇,那就是微軟新近推出的“Silverlight”(中文非官方簡稱“閃亮”)。1. 什麼是Silverlight? Silverlight是一個跨瀏覽器的、跨平台的外掛程式,為網路帶來下一代基於.NET的媒體體驗和豐富的互動式應用程式。 它主要有以下特點: 跨瀏覽器,跨平台,可以在所有流行的瀏覽器中運行,可以運行於Microsoft Windows和Apple Mac OS X。
Time of Update: 2018-12-07
Silverlight,問世至今已有好一段時日了,向來只是只聞其名,不知其實,今天終於對Silverlight有了點初步的瞭解。一、Silverlight是什嗎?Sliverlight是基於.NET的、跨瀏覽器、跨平台、跨裝置的外掛程式,為Web帶來下一代的媒體體驗和豐富的互動式應用程式。Silverlight的開發代號WPF/E全稱為Windows Presentation FoundationEverywhere,是微軟新Windows圖形子系統“Windows
Time of Update: 2018-12-07
通過前面的介紹,我們已經知道WPF支援用Style
Time of Update: 2018-12-07
Style是一種修改屬性值是方法。我們可以將其理解為對屬性值的批處理。對批處理大家應該不會感到預設。對,通過Style我們可以批量修改屬性的值。先從一個簡單的Style例子開始:<Window x:Class="Viewer3D.WindowSettins" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2
Time of Update: 2018-12-07
這篇文章主要是翻譯了ScottGu部落格的文章:Silverlight Tutorial Part 2: Using Layout Management。雖然是翻譯,但通過筆記記錄,我發現對這三個布局控制項有了更深刻的瞭解。Silverlight提供了非常靈活的布局管理系統,讓程式員和美工可以非常方便的控制控制項的位置。布局管理系統提供了兩種布局方式:絕對位置和相對定位。這兩種定位方式其實和HTML的兩種定位方式是一樣的。在Silverlight 2
Time of Update: 2018-12-07
最近比較忙些,好多天沒有寫WPF了。今天,我們繼續回到前面的話題:WPF中的資料處理。前面講過,通過實現INotifyPropertyChanged,我們可以改變使任意的CLR對象支援WPF的繫結來源。但是,INotifyPropertyChanged通常只應用在單個的類屬性上。在現實應用中,我們還會遇到另外一種情況:我們需要監視某一堆的資料是否發生變化。也就是說我們繫結資料源不再是一個單獨資料對象。比如,繫結來源是一個資料表時,我們希望在表中任何一條資料發生變化就能得到通知。(這裡暫不考慮WP