2010年3月30日 星期二

VS2010 的 Crystal Report 不見了!

負責Crystal Report 產品的同事告訴我說, VS2010裡不會在放Crystal Report, 必須另外下載!

拿到VS2010 Beta 時打開VS的專案範本, 有看到Crystal Report的範本:

1

一直很疑惑, 有啊!! 還在啊!!

昨天心血來潮真的去開一個Crystal Report的專案, 得到這個畫面:

2

果然, 需要另外下載…

是 Microsoft 有了自家的 Report 產品, 就不主動內建Crystal Report , 還是其他原因呢? (不得而知)

不過, 至少還留著專案範本, 留個Download 的 Link 位置, 也算是一種友善吧!!

2010年3月25日 星期四

WPF資料繫結的驗證方式

WPF資料繫結的驗證方式作法有三種:

  1. 使用ValidationRules
  2. 使用ValidatesOnDataErrors
  3. 使用ValidatesOnDataException

這三種方式都是Bindng物件的屬性, 作法卻不大相同.

使用ValidationRules

必須建立一個類別並繼承ValidationRule, 在裡頭的Validate方法撰寫驗證程式碼.

然後在XAML上必須這樣寫:

<DatePicker Grid.Column="1" Grid.Row="2" Name="DatePicker1" >

<DatePicker.SelectedDate>

<Binding Path="CreationTime">

<Binding.ValidationRules>

<local:DateRangeValidationRule />

</Binding.ValidationRules>

</Binding>

</DatePicker.SelectedDate>

</DatePicker>

這是最早出現的作法(.net 3.0), 好處是驗證邏輯是獨立的類別可以重複使用, 缺點是太複雜了!!

***Silverlight 並不支援這種做法.***

使用ValidatesOnDataErrors

只要在資料來源的類別中實作IDataErrorInfo介面, 在Item索引子中實作檢查欄位驗證的邏輯.

然後只要設定Binding物件的ValidatesOnDataErrors屬性為True就會有效果.

.net 3.0sp1以後才有的功能. 好處是可以直接在資料來源的類別實作檢查欄位驗證的邏輯. 缺點是驗證邏輯無法重複使用 (不過驗證邏輯需要重複使用的機會有多少?).

***Silverlight有支援這種做法.***

使用ValidatesOnDataException

直接在資料來源的類別中的屬性的Set區段中撰寫驗證邏輯, 並在驗證發生問題時丟出錯誤(throw exception)

但在XAML中要設定ValidatesOnDataException為True及ValidationRules指為ValidatesOnExceptions.

<Binding Path="CreationTime" ValidatesOnDataException=True>
<Binding.ValidationRules>    
     <ExceptionValidationRule />
</Binding.ValidationRules>
</Binding>

.net 3.0sp1以後才有的功能. 好處是類別的程式碼寫法比較直覺, 也不需實作任何介面. 缺點是還是要手動打XAML(Visual Studio 2010有Binding 的屬性視窗, 但並沒有ValidationRules的選項, 所以要自己打XAML)

***Silverlight有支援這種做法.***

2010年3月24日 星期三

我愛Visual Basic 2010

LINQ語法是可以是一串很長的指令, 在C#裡並不覺得很長的指令有什麼困擾, 反正按個Enter 換行就好, 程式仍可以很好閱讀.

於是Visual Basic 2010 為了LINQ語法新增一個功能, 就是可以在很長的LINQ或方法參數上換行不需加上”空白 底線”

不用加空白底線

雖然早就在Visual Basic 2010的Beta 版就知道這項功能, 但這次寫書用到大量很長的Visual Basic程式時…

心中不免讚嘆”我愛Visual Basic 2010”!!

2010年3月20日 星期六

在Expression Blend 4 畫星星


在Blend 3 的專案裡想畫出除了方形與圓形外的形狀, 有兩個方式:
1. 使用畫筆
2. 使用Expression Design的形狀工具做出要的形狀 (例如星星), 然後copy & paste 到Blend

你還有想到其他方式嗎?
總而言之, 就是Blend 3裡不能像PowerPoint 有常用形狀讓你直接使用...

Blend 4有改進了唷, 最近下載Blend 4 Beta (2010/3/16公佈的) 版本在Asserts(資產) 看到Shapes 項目有18種形狀可以選取. 讚啦!! (對於未受畫圖訓練的我來說, 至少有一些基本形狀可以使用)

Shapes

2010年3月16日 星期二

Silverlight 4 RC 及Expression Blend 4 Beta 發佈

Silverlight 4 RC 已發佈
Visual Studio 2010 RC 因為是比較早發佈, 內建的是Silverlight 3 SDK,
若要在Visual Studio 2010 RC 上開發SL4, 要再安裝Silverlight 4 Tools for Visual Studio 2010
& Silverlight 4 Toolkit.
另外Expression Blend 4 Beta 也已於3/12/2010 發佈了, 它的專案可以與Visual Studio 2010 RC 相容. 同時它的文件上寫說可以與Blend 3 並行安裝
細節參考http://silverlight.net/getstarted/silverlight-4/

3/12/2010 發佈的Expression Blend 4 Beta 下載位址http://www.microsoft.com/downloads/details.aspx?FamilyID=6f014e07-0053-4aca-84a7-cd82f9aa989f&displaylang=en