最近一兩週的研讀,初步接觸的訊息是,WPF是繼Window Form之後的下一代Windows核心技術,,他很強,在GUI的呈現效果與過往有顯著的不同,如同Win7跟XP的落差,但是,很多企業並不重視這個,「客戶要的需求達到就好了,作這麼漂亮幹嘛?會讓公司多賺個幾百萬嗎?」,我想很多老闆跟主管有這樣的想法並不意外,所以WPF並沒有受到廣泛的使用,(雖然Apple已經讓不少人明白好的使用者介面有多麼讓人喜歡,好的外觀有多麼吸引人,使用者感受對於產品的影響應該是不低的,但是,既然業界沒有這樣的想法,我們工程師也沒輒,所以一、兩個人研發產品介面,一個人獨立作一兩個月把東西作出來,在業界好像還是常態)
Silverlight則是WPF下一個階段的產品,他是WPF的子集合,利用新的開發機制,讓程式設計師可以用習慣的語言(VB或C#或其他)來撰寫Server端程式,然後用Html, Xml類似的TAG語法來撰寫介面(這點跟WPF一樣),然後前端的頁面又可以跟後端的程式溝通,透過WCF的中間服務蠻容易的達成。而這一切僅需要透過VisualStudio就可以做到(介面設計的部分,VisualStudio有內建一個Expression Blend用來設計介面與動畫特效,這個軟體說實在的跟Flash有類似)。然而,一樣的,在台灣Silverlight似乎還沒有很風行,業界用的少,大部分的人還是以Flash搭配Java Script或是用Ajax或是PHP等等,所以連書籍也非常的少,不到10本,很少書局可以看到Silverlight的書,這時候學習這兩個程式開發工具會不會太過冒險了呢?我想,有微軟當靠山,應該還挺穩的,只是時間的問題,多久之後才會贏過Flash,多久之後才能大幅提高佔有率,可以跟C#或C++匹敵呢?不知道,不過,這也代表競爭的人少,有些公司有這樣的職缺,我們要是很熟,很多人又不會,基本上這就是一種優勢了吧。
我喜歡設計,我喜歡創造,我喜歡美 不論軟體設計,不論介面設計,不論產品規劃設計,我都很有興趣 一直希望能能用這份專長,好好發揮在職場上。讓我做的快樂。 不論寫程式,或是做美工,我都很喜歡,希望我可以有機會雙線。兩種都很擅長。
2011年9月27日 星期二
2011年9月26日 星期一
Silverlight學前研讀心得(一)
上個禮拜,花了蠻多時間研讀WPF的書,不過因為是很紮實的書籍,從基礎開始學習,並且一個範例一個範例的敲出程式,然後跑測試看看,這樣的學習時間,應該會拉的蠻長的沒錯,樂觀的看,沒有一個月以上,應該沒辦法學完整本。然後,很臨時的收到任務,我要接下Silverlight開發的產品,所以這個研讀就暫時先把比重放低,甚至先暫停也可能。

這個禮拜,幾乎都在研讀Silverlight的書,一開始看兩本章立民先生的書,【Silverlight2.0精華技術手冊-使用VC#】,以及【Silverlight3.0全面精通手冊】,這兩本書,很巧的,有好多篇幅都差不多,可能其中一本是另外一本的延續書嗎?不知道。其中的第二章跟第三章的內容:「應用程式的建置、執行、快取、分割」非常的生硬,但是對我來說,我又是非常的想要正確的學習這些基礎的知識,(註一),但是這兩本書幾乎是把MSDN網頁的內容照抄下來,什麼程式庫組件,應用程式組件,類別庫組件,..........名詞難懂就算了,這個還好,很多書都這樣,但他描述的語句生硬,難懂死了,感覺教科書都沒這麼難理解。可能是我的閱讀能力有問題也不一定。但是看這兩本書真的讓人覺得很挫折,覺得Silverlight是不是真的就這麼困難啊?還是我真的太爛了,僅學過ASP的我,學不會這高深的技巧呢?
還好還有另外一本書可以翻一下,董大偉先生的【Silverlight範例權威講座】這本閱讀起來輕鬆多了,因為是自撰書,用的詞句很白話,不但聽得懂,照著引導,很清楚的知道怎麼做出一個簡單的Silverlight的網頁程式,讓我重拾信心,不過可惜的是這本書後來以VB為主,C#的部分要自己摸索,而且這本書使用的版本是Silverlight2.0,我上網找了,新版的書籍是3.0而已,而且不論2.0這本或3.0這本都絕版了。好吧,或許他正在寫4.0的書,我等等看好了,因為我在書局翻了另外兩本書,感覺內容還蠻不錯的樣子。
這兩本就是【Silverlight 4 商業級應用程式開發】與【銀光誌—Silverlight 3.0 實例開發應用】,第一本,是翻譯書,用詞遣字方面沒有這麼好,但是至少可能因為原文寫的還挺淺顯的,所以翻譯的內容看起來似乎沒這麼難懂,且內容是4.0是目前少數僅有的新書了,另外一本,感覺是作者自撰書,所以內容看起來也蠻好懂,我想,就先用這兩本書當我入門書好了,希望能順利的學會這個新技能。
註一:
因為我想要能夠學習到這個Silverlight2.0完整的知識,這是我學習新東西的習慣,我喜歡把一個東西從基礎細節學好,再到延伸應用。從要怎麼開始一個專案,要怎麼根據需求規劃來切割我的程式,在方案總管看到的那些檔案,各自有什麼用途,我需要注意什麼設定,才能達到什麼需求,這些都是沒有學好的話,對我來說,寫出來的東西只是半桶水,只是容易不穩定的實驗品,因為不懂這些基礎,你對程式的掌握度會不夠,有時候出了一些BUG卻改不動,有時候,比方因為模組切割的不恰當,會導致程式效能不佳或是衍生很多撰寫上的困難,諸如此類的,讓我很重視程式開發工具的架構學習。

這個禮拜,幾乎都在研讀Silverlight的書,一開始看兩本章立民先生的書,【Silverlight2.0精華技術手冊-使用VC#】,以及【Silverlight3.0全面精通手冊】,這兩本書,很巧的,有好多篇幅都差不多,可能其中一本是另外一本的延續書嗎?不知道。其中的第二章跟第三章的內容:「應用程式的建置、執行、快取、分割」非常的生硬,但是對我來說,我又是非常的想要正確的學習這些基礎的知識,(註一),但是這兩本書幾乎是把MSDN網頁的內容照抄下來,什麼程式庫組件,應用程式組件,類別庫組件,..........名詞難懂就算了,這個還好,很多書都這樣,但他描述的語句生硬,難懂死了,感覺教科書都沒這麼難理解。可能是我的閱讀能力有問題也不一定。但是看這兩本書真的讓人覺得很挫折,覺得Silverlight是不是真的就這麼困難啊?還是我真的太爛了,僅學過ASP的我,學不會這高深的技巧呢?
還好還有另外一本書可以翻一下,董大偉先生的【Silverlight範例權威講座】這本閱讀起來輕鬆多了,因為是自撰書,用的詞句很白話,不但聽得懂,照著引導,很清楚的知道怎麼做出一個簡單的Silverlight的網頁程式,讓我重拾信心,不過可惜的是這本書後來以VB為主,C#的部分要自己摸索,而且這本書使用的版本是Silverlight2.0,我上網找了,新版的書籍是3.0而已,而且不論2.0這本或3.0這本都絕版了。好吧,或許他正在寫4.0的書,我等等看好了,因為我在書局翻了另外兩本書,感覺內容還蠻不錯的樣子。
這兩本就是【Silverlight 4 商業級應用程式開發】與【銀光誌—Silverlight 3.0 實例開發應用】,第一本,是翻譯書,用詞遣字方面沒有這麼好,但是至少可能因為原文寫的還挺淺顯的,所以翻譯的內容看起來似乎沒這麼難懂,且內容是4.0是目前少數僅有的新書了,另外一本,感覺是作者自撰書,所以內容看起來也蠻好懂,我想,就先用這兩本書當我入門書好了,希望能順利的學會這個新技能。
註一:
因為我想要能夠學習到這個Silverlight2.0完整的知識,這是我學習新東西的習慣,我喜歡把一個東西從基礎細節學好,再到延伸應用。從要怎麼開始一個專案,要怎麼根據需求規劃來切割我的程式,在方案總管看到的那些檔案,各自有什麼用途,我需要注意什麼設定,才能達到什麼需求,這些都是沒有學好的話,對我來說,寫出來的東西只是半桶水,只是容易不穩定的實驗品,因為不懂這些基礎,你對程式的掌握度會不夠,有時候出了一些BUG卻改不動,有時候,比方因為模組切割的不恰當,會導致程式效能不佳或是衍生很多撰寫上的困難,諸如此類的,讓我很重視程式開發工具的架構學習。
2011年9月20日 星期二
Silverlight第二章
Silverlight應用程式最終會被建置成一個應用程式封裝檔:(.xap),並存放於ClientBin目錄中。我們會在網頁中用<object>標記來指定所要執行的Silverlight應用程式封裝檔,這樣當此網頁被瀏覽器開啟時,就會下載並執行所指定的xap檔
2011年9月19日 星期一
WPF第一章
1.一個應用當中只能有一個Application物件,這個物件是看不見的,不像Window物件,看得到視窗,有標題列。
2.建立Window物件跟Application物件的順序沒有一定,只有一些原則要遵守,Application的Run必須保留在最後,因為Run方法一旦被呼叫就不會返回,直到視窗被關閉結束。
3.可以不要呼叫Window的Show方法而是直接把Window物件當作參數傳遞給Run方法,這樣Run方法會去呼叫Window物件的Show方法的。
4.Application類別具有一個Static Property名為Current,裡頭包含一個MainWindow物件,這個取用方式有個注意事項,宣告產生Application物件必須在宣告產生Windows物件之前完成,或是呼叫Run的時候傳入的Window物件,否則會得到Null reference exception。Current裡頭也包含著Windows的Collection類別,可以透過他取得所有的
5.Application類別具有數個有用的事件,大多數的事件都有對應的Protected方法可以發出事件,例如Startup事件是利用OnStartup方法所產生。當呼叫Application的Run()之後,就會立刻呼叫OnStartup方法,當Run返回時,則會立刻呼叫OnExit(),可以用這些事件的時機來作應用程式的初始化跟清除。
6.一個程式可以有多個視窗
2.建立Window物件跟Application物件的順序沒有一定,只有一些原則要遵守,Application的Run必須保留在最後,因為Run方法一旦被呼叫就不會返回,直到視窗被關閉結束。
3.可以不要呼叫Window的Show方法而是直接把Window物件當作參數傳遞給Run方法,這樣Run方法會去呼叫Window物件的Show方法的。
4.Application類別具有一個Static Property名為Current,裡頭包含一個MainWindow物件,這個取用方式有個注意事項,宣告產生Application物件必須在宣告產生Windows物件之前完成,或是呼叫Run的時候傳入的Window物件,否則會得到Null reference exception。Current裡頭也包含著Windows的Collection類別,可以透過他取得所有的
5.Application類別具有數個有用的事件,大多數的事件都有對應的Protected方法可以發出事件,例如Startup事件是利用OnStartup方法所產生。當呼叫Application的Run()之後,就會立刻呼叫OnStartup方法,當Run返回時,則會立刻呼叫OnExit(),可以用這些事件的時機來作應用程式的初始化跟清除。
6.一個程式可以有多個視窗
2011年9月13日 星期二
什麼是WPF
| 開始年份 | 語言 | 介面 |
| 1985年 | C | Windows API |
| 1992年 | C++ | MFC程式庫 |
| 2001年 | C#或C++ | Windows Form |
| 2006年 | C#或C++ | Windows Presentation Foundation |
從最開始的Windows程式只能利用C語言以及Windows API,到過去幾年,開始出現最多人使用的的MFC程式庫,之後演進到受管控的(Managed Code)現代化的NET的Windows Form設計方式,這幾年則出現WPF這個新一代的設計方案。
WPF在繪圖、動態效果卓越提升,除了2D,還支援3D的效果。除了用程式語言C#開發,也能用XMAL語法來開發,新一代的Silver Light就是延續著WPF而精簡出來的新一代網頁開發工具。
2011年9月9日 星期五
C#如何引用dll
如果是很單純的要呼叫C#的dll
只要[專案][加入][參考 ],把dll加入之後
[DllImport("yyyyyy.dll")]
public extern static void gggggg();
yyyyyy表示該dll的檔名
gggggg表示要呼叫的函式名稱
最後,在你想呼叫該函式的地方:
xxxxxx.classname.gggggg();即可,其中classname是該function所在的class名稱,因為函式一定要存在於Class當中,且注意,該函式一定要宣告為static才行
只要[專案][加入][參考 ],把dll加入之後
[DllImport("yyyyyy.dll")]
public extern static void gggggg();
yyyyyy表示該dll的檔名
gggggg表示要呼叫的函式名稱
最後,在你想呼叫該函式的地方:
xxxxxx.classname.gggggg();即可,其中classname是該function所在的class名稱,因為函式一定要存在於Class當中,且注意,該函式一定要宣告為static才行
ListBox 相關元件對Item或Select的CopyTo差異在哪裡?
List.Item.CopyTo( Object, Index )
此方法不支援 Int 陣列,僅支援 String 與 Object
因為該集合是項目內容,可能為非數字
List.SelectedIndices.CopyTo( Array, Index )
此方法支援 Int 等型態的陣列
因為該集合是項目 Index,一定是數字
此方法不支援 Int 陣列,僅支援 String 與 Object
因為該集合是項目內容,可能為非數字
List.SelectedIndices.CopyTo( Array, Index )
此方法支援 Int 等型態的陣列
因為該集合是項目 Index,一定是數字
訂閱:
文章 (Atom)

