感謝大夥的熱情參與,今年Tech.Days 2009 研討會順利結束了,在這次的研討會中,SL3的部分是focus在企業的應用,透過.NET RIA Services, Business Application Template以及SL3當中的一些技巧,很快速的建立典型的企業應用程式;同時也提到了OOB與離線應用,和前陣子我Demo的SL3 Multi-Touch技術;而ASP.NET 4.0這個主題,則是概略性的介紹了未來ASP.NET 的四個大方向,包含Dynamic Data, WebForm的改變,AJAX 4.0的Client Template與Binding, 還有MVC的概念。
短短的70分鐘,實在沒法把整個主題全數介紹,僅能挑出幾個比較重要和較有意義的部分和大家分享,因此細節的部分我會在接下來一兩個月全數放到BLOG上,陸續介紹ASP.NET 4.0的一些新功能和SL3的應用技巧。
總之,很謝謝大家的參與和支持,很高興在會場有機會碰到大家。
2009年9月25日 星期五
2009年9月20日 星期日
傳說中的Silverlight 3多點觸控(Multi-Touch)應用
SL3推出已久,傳說中,SL3支援Windows 7的Multi-Touch功能,為何是『傳說中』呢? 因為一直以來苦無Touch Screen設備可以讓我測試,害我在present Silverlight Application時,總是有那麼點小小的遺憾,這個心頭的遺憾始終揮之不去...(不是我不去買,是市面上還買不到通過W7認證的螢幕,不過大家別擔心,馬上你就會看到支援W7的Touch設備將如雨後春筍般的出現啦)
可能是微軟聽到了我在連續四場研討會的小小抱怨(...ㄟ...是懇求),終於肯弄台Touch Screen借我來玩玩,難得微軟這麼大發善心,此時不借更待何時,儘管當天要從遙遠的客戶處繞到微軟總部,但還是專程去了一趟...
周五,Touch Screen終於到手,回家第一件事情就是把塵封已久的Windows 7打開(是的,其實我W7早就灌好了很久,但是沒有Touch Screen始終讓我意興闌珊),把螢幕給接上去...怪怪,怎麼沒反應咧??? 東弄西弄,開始有畫面了(似乎觸控也work),只是怎麼解析度怪怪的,依照Anne跟我說的,只需要把螢幕接頭接上,插上USB就搞定啦???
研究了半天,原來根本不是Touch Screen的錯,Touch Screen還真的是接上去就可以用,原來是我剛灌好的Dell NB的W7顯卡驅動程式還沒安裝,導致無法輸出正確的訊號到Touch Screen,立刻到nVIDIA網站,下載,安裝,搞定。
嘿嘿嘿,接下來花了約莫1.5個小時,第一個Silverlight Multi-Touch應用程式完成!!! 底下是我寫好的第一個SL3 Multi-Touch應用程式範例,嘿,這應該是現階段少數可以用Multi-Touch控制的網站喔(有Windows 7+IE8+Touch Screen的朋友可以連上去測試一下Multi-Touch在Browser上執行的狀況):
http://blog.studyhost.com/BlogData/20090921/MultiTouchTestTestPage.html
PS.檔案很大是因為我用了一個MediaPlayer的控件,跟Multi-Touch無關...
但我想目前能測試的網友肯定不多,因為大家都還沒有Touch Screen,所以我拿攝影機錄製了一段Video,有興趣的朋友可以看看這段測試,你會看到我用SL做了一個簡單的網站,並且讓圖片、影片、圖表、資料等物件都可以透過Multi-Touch放大縮小,控制起來算是相當順暢(順暢度主要跟程式寫法有關,到是跟Hardware關係不大),詳細的Touch Screen實測報告容後再寫,如果我在TechDays的SL場次時間來得及,我會現場Demo一下(不保證一定來得及)。

總的來說,我拿到的這台Touch Screen蠻順的,真的是挺順,比起我過去用過的和聽說的都好很多,如果要我買我可能會買這種(而非那種All-In-One的PC或NB),只是大大一台螢幕攜帶比較不方便。(強烈降低我搬到TechDays Demo的意願)
而SL3要怎麼撰寫支援Multi-Touch的應用程式呢? 其實這部分一點也不困難,程式碼的部分我會在後天的TechDays和大家報告,同時在下一期的Run!PC雜誌和我後續的BLOG上會陸續和大家分享。^_^
嘿嘿,SL3...果然準備好了!
可能是微軟聽到了我在連續四場研討會的小小抱怨(...ㄟ...是懇求),終於肯弄台Touch Screen借我來玩玩,難得微軟這麼大發善心,此時不借更待何時,儘管當天要從遙遠的客戶處繞到微軟總部,但還是專程去了一趟...
周五,Touch Screen終於到手,回家第一件事情就是把塵封已久的Windows 7打開(是的,其實我W7早就灌好了很久,但是沒有Touch Screen始終讓我意興闌珊),把螢幕給接上去...怪怪,怎麼沒反應咧??? 東弄西弄,開始有畫面了(似乎觸控也work),只是怎麼解析度怪怪的,依照Anne跟我說的,只需要把螢幕接頭接上,插上USB就搞定啦???
研究了半天,原來根本不是Touch Screen的錯,Touch Screen還真的是接上去就可以用,原來是我剛灌好的Dell NB的W7顯卡驅動程式還沒安裝,導致無法輸出正確的訊號到Touch Screen,立刻到nVIDIA網站,下載,安裝,搞定。
嘿嘿嘿,接下來花了約莫1.5個小時,第一個Silverlight Multi-Touch應用程式完成!!! 底下是我寫好的第一個SL3 Multi-Touch應用程式範例,嘿,這應該是現階段少數可以用Multi-Touch控制的網站喔(有Windows 7+IE8+Touch Screen的朋友可以連上去測試一下Multi-Touch在Browser上執行的狀況):
http://blog.studyhost.com/BlogData/20090921/MultiTouchTestTestPage.html
PS.檔案很大是因為我用了一個MediaPlayer的控件,跟Multi-Touch無關...
但我想目前能測試的網友肯定不多,因為大家都還沒有Touch Screen,所以我拿攝影機錄製了一段Video,有興趣的朋友可以看看這段測試,你會看到我用SL做了一個簡單的網站,並且讓圖片、影片、圖表、資料等物件都可以透過Multi-Touch放大縮小,控制起來算是相當順暢(順暢度主要跟程式寫法有關,到是跟Hardware關係不大),詳細的Touch Screen實測報告容後再寫,如果我在TechDays的SL場次時間來得及,我會現場Demo一下(不保證一定來得及)。

總的來說,我拿到的這台Touch Screen蠻順的,真的是挺順,比起我過去用過的和聽說的都好很多,如果要我買我可能會買這種(而非那種All-In-One的PC或NB),只是大大一台螢幕攜帶比較不方便。(強烈降低我搬到TechDays Demo的意願)
而SL3要怎麼撰寫支援Multi-Touch的應用程式呢? 其實這部分一點也不困難,程式碼的部分我會在後天的TechDays和大家報告,同時在下一期的Run!PC雜誌和我後續的BLOG上會陸續和大家分享。^_^
嘿嘿,SL3...果然準備好了!
2009年9月6日 星期日
讀者留言回覆:如何在Blend 3當中設定Effect
讀者留言:
董老師您好,
雖然了解到在Blend 3裡新增了陰影的功能, 但怎麼試都試不出來...我簡單地畫了一個矩形, 選取Effect裡的DropShadowEffect, 但怎麼試都沒有反應, 因此想請問一下, 一個簡單地矩形+陰影(如同一般繪圖軟體的陰影效果), 該怎麼實做呢?
回覆如下:
只要安裝有SL3 SDK, Blend 3, Blend 3 SDK等元件的開發環境,都應該可以順利的使用Effect才是,相關的Xaml碼相當簡單:
操作步驟影片:[影片] [範例下載]
董老師您好,
雖然了解到在Blend 3裡新增了陰影的功能, 但怎麼試都試不出來...我簡單地畫了一個矩形, 選取Effect裡的DropShadowEffect, 但怎麼試都沒有反應, 因此想請問一下, 一個簡單地矩形+陰影(如同一般繪圖軟體的陰影效果), 該怎麼實做呢?
回覆如下:
只要安裝有SL3 SDK, Blend 3, Blend 3 SDK等元件的開發環境,都應該可以順利的使用Effect才是,相關的Xaml碼相當簡單:
<Rectangle Fill="#FF00D3FF" Stroke="Black" Height="106" Margin="53,40,289,0" VerticalAlignment="Top">
<Rectangle.Effect>
<DropShadowEffect BlurRadius="36" ShadowDepth="13"/>
</Rectangle.Effect>
</Rectangle>
操作步驟影片:[影片] [範例下載]
Silverlight 3中規則運算式(Regular Expressions)的支援
在SL3當中,有一個新支援的重要類別,也就是位於System.Text.RegularExpressions命名空間底下的Regex,在RegularExpressions命名空間底下包含了幾個與規則運算式有關的重要類別,而最方便使用的莫過於Regex,使用的方式很簡單:
其中IsMatch是一個靜態方法,因此我們直接呼叫即可,完整的程式碼可參考底下範例:
此場景的XAML指令碼如下:
執行結果如下:
http://blog.studyhost.com/BlogData/20090906/RegexExampleTestPage.html
透過這個內建的方法,我們在SL3當中也可以輕易的針對使用者的輸入進行驗證,相當方便好用。
System.Text.RegularExpressions.Regex.IsMatch(要驗證的文字, 規則式)
其中IsMatch是一個靜態方法,因此我們直接呼叫即可,完整的程式碼可參考底下範例:
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
Me.TextBox1.Text = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
End Sub
Private Sub Button2_Click(ByVal sender as Object, ByVal e as System.Windows.RoutedEventArgs)
Me.TextBox1.Text = "0\d{2,4}-\d{6,8}"
End Sub
Private Sub Button3_Click(ByVal sender as Object, ByVal e as System.Windows.RoutedEventArgs)
MessageBox.Show(Text.RegularExpressions.Regex.IsMatch(Me.TextBox2.Text, Me.TextBox1.Text))
End Sub
此場景的XAML指令碼如下:
<Grid x:Name="LayoutRoot">
<TextBox x:Name="TextBox1" Height="29" Margin="140,32,270,0" VerticalAlignment="Top" Text="TextBox" TextWrapping="Wrap"/>
<TextBlock Height="30" HorizontalAlignment="Left" Margin="29,32,0,0" VerticalAlignment="Top" Width="111" Text="規則運算式:" TextWrapping="Wrap" FontSize="16"/>
<TextBox x:Name="TextBox2" Height="29" Margin="140,80,270,0" VerticalAlignment="Top" Text="TextBox" TextWrapping="Wrap"/>
<TextBlock Height="30" HorizontalAlignment="Left" Margin="29,80,0,0" VerticalAlignment="Top" Width="111" FontSize="16" Text="規則運算式:" TextWrapping="Wrap"/>
<Button x:Name="Button3" Height="30" HorizontalAlignment="Right" Margin="0,80,180,0" VerticalAlignment="Top" Width="65" Content="驗證" FontSize="16" Click="Button3_Click"/>
<Button x:Name="Button1" Height="30" HorizontalAlignment="Right" Margin="0,32,133,0" VerticalAlignment="Top" Width="112" FontSize="16" Content="範本 - email" Click="Button1_Click"/>
<Button x:Name="Button2" Height="30" HorizontalAlignment="Right" Margin="0,31,18,0" VerticalAlignment="Top" Width="112" FontSize="16" Content="範本 - Mobile" Click="Button2_Click"/>
</Grid>
執行結果如下:
http://blog.studyhost.com/BlogData/20090906/RegexExampleTestPage.html
透過這個內建的方法,我們在SL3當中也可以輕易的針對使用者的輸入進行驗證,相當方便好用。
2009年9月1日 星期二
課程:Silverlight 3.0 RIA應用程式設計與網站開發實務
課程:Silverlight 3.0 RIA應用程式設計與網站開發實務(18 hr)
地點:新竹清華大學
時數:18 hr
在新竹地區第一次舉辦的Silverlight 3.0課程,報名時間快截止囉, 位於新竹的朋友若有興趣可參考底下網址: http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=98C078
地點:新竹清華大學
時數:18 hr
在新竹地區第一次舉辦的Silverlight 3.0課程,報名時間快截止囉, 位於新竹的朋友若有興趣可參考底下網址: http://edu.tcfst.org.tw/query_coursedetail.asp?courseidori=98C078
訂閱:
文章 (Atom)
熱門文章
-
LINE在2022/5/13增加了postbackAction的屬性,讓發人員可以藉由送出一個含有postbackAction的訊息(類似底下這樣),來幫用戶來開啟(或關閉)rich menu,甚至可以開啟輸入鍵盤和語音: 上圖 A 的部分,是一個 Buttons Templ...
-
在使用自動化上版的過程當中,你大概或多或少會想要使用簽核(Approval)的功能。簽核功能讓你可以自動佈署到特定站台(例如正式機)之前,形成一個 “把關” 的功能。 雖然感覺用起來很酷,但坦白說,我們對於上新版程式前的Approval行為,在態度上是不鼓勵的。因為多年下來,...
-
你有三分零二秒嗎? 建議您靜下心來看這段影片... 人生就是這樣, 拱手一生, 記憶最深的卻是, 這一些點點滴滴的不完美, 凝聚成我們心中的完美。
-
前面 我們討論到了很多跟Line Bot有關的機制,但有朋友提了一個問題,如果我單單只是要透過程式碼發訊息給用戶,一定要申請並建立一個Line Bot嗎? 其實不用。 一直以來,有一個比較不被重視的機制,叫做LINE Notify,其實它已經誕生很久, IFTTT 的Line...
-
注意,本篇部分內容已過時,新版Line bot申請流程,請參考 這篇 。 前面 說過,不知道發生了什麼事情,全球幾個大廠幾乎在同一個時間announce各家的機器人技術或介面,包含Microsoft 的bot API,還有FB、Line…到最近的Google,總之突然間,原本封...
-
LINE Bot這一系列,從2016年五月開始,寫著寫著也快30篇了,差不多剛好一個月一篇,如果資訊雜誌還在的話,應該可以是一個專欄。 很久沒有整理索引了,2019年初,再次將這一系列相關連結整理如後: 使用C#開發LineBot (1) - 用c#建立一個LineBot...
-
最近的 Line Notify 、 Line Login ,以及前一陣子的 Microsoft Graph API ,全都使用到了OAuth作為用戶身分驗證以及資源存取的基礎。但很多讀者會卡在OAuth的運作流程上,根本的原因是不理解OAuth到底是幹嘛的?其存在的目的為何?以及...
-
LineBot傳送訊息的形式,除了單純的文字、貼圖、圖片之外,還有一個比較特別的形式,稱之為 Template Message ,這種形式的訊息本質上是一個選單,長得像是底下這樣: 上面這個是三種Template Message中的一種形式,稱為Buttons Template...
-
改用C#好一段時間了,但是以前寫VB的習慣總是如影隨形的跟著。這沒什麼好或不好,以前說過,這年頭沒有雙語能力是不行的。 只是有時候我就是不很明白,為何VB有些簡單的字串方法C#怎麼也不肯加進來。不過,人家有人家的道理,我們則只能在變通當中找個繞路的方式。 我最近在C#程式...
-
先前 我們介紹過了LINE LIFF App,你大概已經知道了它是一個便於開發類似 FB WebView或是微信小程序的機制。 LINE推出了這個機制是一個很重要的更新,這一篇我們要來看看如何撰寫一個LIFF App。 在這之前你必須知道: LIFF App可以使用HTML和j...