偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

在Eclipse中開始Silverlight編程之旅

原創(chuàng)
開發(fā) 后端
現(xiàn)在通過插件,Eclipse開發(fā)人員將能夠在他們熟悉的IDE中創(chuàng)建Silverlight應(yīng)用程序了。它提供Visual Studio 2008中Silverlight工具的大部分特性,本文將為大家開始Silverlight編程之旅。

51CTO.com獨(dú)家特稿】微軟公司的Silverlight大大提高了程序的互操作性,非常感謝微軟公司和Soyatec,Eclipse開發(fā)人員將能夠在他們熟悉的IDE中創(chuàng)建Silverlight應(yīng)用程序了。

開源FANS和高可配置Eclipse IDE最近獲得了一個新禮物:Eclipse的Silverlight插件。它提供了Visual Studio2008中Silverlight工具的大部分特性,包括代碼提示和XAML預(yù)覽。這個插件是由Soyatec基金支持開發(fā),由微軟互操作性團(tuán)隊管理的。學(xué)習(xí)Eclipse中Silverlight插件的特性***的辦法就是去使用它,因此,本文將使用Eclipse創(chuàng)建一個簡單的Silverlight應(yīng)用程序,一個企業(yè)聯(lián)合組織反饋閱讀程序,它在頂層窗口中列出反饋條目,在列表的下面顯示選中的條目,實(shí)現(xiàn)這個功能的代碼短得驚人,最終完成的程序樣子如下圖所示:

 

圖1 企業(yè)聯(lián)合組織反饋閱讀程序

安裝Silverlight開發(fā)工具箱

Silverlight模塊需要下面的軟件,按順序安裝它們:

1.Microsoft Windows XP SP2或更高版本,或Windows Vista SP1。

2.Java Development Kit (JDK) 1.5.0-11或更高版本。

3.Eclipse Ganymede 3.4.1,32位版本。

4.Microsoft .NET Framework 3.5。

5.Silverlight 2 Runtime 2.0.31005.0或更高版本。

6.Silverlight 2 SDK

安裝這個Beta版本時需要注意幾件事情:

1.還沒有程序調(diào)試器,但這個已經(jīng)列入開發(fā)計劃了。

2.Eclipse上的Silverlight插件還不支持64位Windows Vista系統(tǒng),但修復(fù)這個問題也已經(jīng)列入開發(fā)計劃了。

3.Ganymede的基礎(chǔ)版本已經(jīng)可以工作得很好,當(dāng)你安裝Silverlight模塊時,會自動解決依賴性問題。

當(dāng)你安裝好Silverlight后,你應(yīng)該更新到2008年10月的DataGrid,它幾乎修復(fù)了近30個bug,在這篇文章中將使用到DataGrid。

當(dāng)你安裝好所有的先決條件后,就可以安裝Silverlight插件了,啟動Eclipse,然后選擇‘幫助’到‘軟件更新’,打開‘軟件更新和加載項’對話框,選擇‘可用的軟件’標(biāo)簽,點(diǎn)擊‘添加站點(diǎn)’按鈕。

 

圖2 選擇可用的軟件標(biāo)簽再點(diǎn)擊添加站點(diǎn)按鈕

在‘添加站點(diǎn)’對話框中,輸入http://www.eclipse4sl.org/update/,點(diǎn)擊‘確定’按鈕,注意不要忘了輸入www.,如果忘記輸入了,你會看到重復(fù)的條目,雖然不影響使用,但看上去很討厭。

 

圖3輸入http://www.eclipse4sl.org/update/,點(diǎn)擊‘確定’按鈕

在‘可用的軟件’標(biāo)簽中將會顯示一條新的Silverlight項目,選擇它然后點(diǎn)擊‘安裝’按鈕,Eclipse將會安裝Silverlight及其依賴文件。

 

圖4 選擇Silverlight條目,點(diǎn)擊‘安裝’按鈕

如果想查看究竟都安裝了些什么插件,可以點(diǎn)擊‘幫助|關(guān)于’,看到立方體圖標(biāo)的插件就是Silverlight了。

 

圖5 立方體插件圖標(biāo)就是Silverlight

點(diǎn)擊立方體圖標(biāo)顯示Silverlight模塊信息對話框。

 

圖6 點(diǎn)擊立方體圖標(biāo)顯示Silverlight模塊信息對話框

點(diǎn)擊‘插件詳細(xì)信息’按鈕查看所有的組件。

 

圖7 點(diǎn)擊插件詳細(xì)信息按鈕顯示所有組件

#p#

創(chuàng)建項目模板

至此我們已經(jīng)準(zhǔn)備好可以創(chuàng)建Silverlight應(yīng)用程序了,選擇窗口打開透視圖其它,打開透視圖選擇對話框。

 

圖8 打開透視圖對話框

注意這里顯示兩條Silverlight,***個藍(lán)色立方體的條目表示是Eclipse風(fēng)格的透視圖,左側(cè)是項目管理器,右側(cè)是選項??繀^(qū)域,第二個條目表示是VisualStudio風(fēng)格透視圖,它們剛好相反。

現(xiàn)在Silverlight透視圖設(shè)好了,選擇‘文件’‘新建’,你將會看到兩個Silverlight項目可供選擇:SilverlightProject和SilverlightWebProject,選擇SilverlightWebProject,這樣你可以在Web頁面中嵌入Silverlight程序。

 

圖9 SilverlightWeb項目允許你將Silverlight程序嵌入到還有其他元素的Web頁面中

接著你會看到新建項目對話框,輸入SyndicationFeedReader作為項目名,這個項目不依賴于其它任何項目,因此你可以不點(diǎn)擊‘下一步’按鈕,直接點(diǎn)擊‘完成’按鈕。

 

圖10在新建項目對話框中,輸入SyndicationFeedReader作為項目名稱

在開始動手之前,先看看都創(chuàng)建了些什么內(nèi)容,項目管理器中顯示了兩個項目:SyndicationFeedReader和SyndicationFeedReader.Web。

 

圖11項目管理器中顯示了兩個項目:SyndicationFeedReader和SyndicationFeedReader.Web

在上面的屏幕截圖中,鼠標(biāo)指針懸停在視圖菜單按鈕上,當(dāng)前版本的插件沒有顯示視圖菜單,但你可以從其它Eclipse透視圖打開和關(guān)閉你的Silverlight項目。

如果這個時候編譯并運(yùn)行的話,只會顯示一個空白頁面,但它給我們一個機(jī)會設(shè)置一些選項,選擇‘運(yùn)行’‘運(yùn)行配置’,啟動‘運(yùn)行配置’對話框,在列表中選擇‘SilverlightWebApp’,然后點(diǎn)擊‘新建’按鈕。

 

圖12選項運(yùn)行運(yùn)行配置,啟動運(yùn)行配置對話框

接著你會看到配置對話框,在名稱區(qū)域輸入SyndicationFeedReader,在用于測試的項目處選擇SyndicationFeedReader.Web,開始頁SyndicateFeedReaderTestPage.html也將被選中,點(diǎn)擊‘應(yīng)用’,然后點(diǎn)擊‘運(yùn)行’按鈕。

 

圖13輸入運(yùn)行配置名稱,選擇項目開始頁面

在你的瀏覽器中將會顯示一個空白頁面,但你在上面點(diǎn)擊右鍵就會顯示Silverlight配置上下文菜單,這說明Silverlight已經(jīng)在運(yùn)行,只不過還沒有填充內(nèi)容吧了。
注意:我們將對SyndicationFeedReaderTestPage.html做一點(diǎn)小小的改動,但它可能不會在項目管理器中作為SyndicationFeedReader.Web項目的一部分列出來,Soyatec已經(jīng)修復(fù)了這個bug,但你在閱讀本文的時候可能還沒有發(fā)布補(bǔ)丁,如果真是這樣,你可以手動添加它,在項目名稱SyndicationFeedReader.Web上點(diǎn)擊右鍵,選擇‘新建’‘添加現(xiàn)有文件’,然后切換到項目目錄,將過濾器改為*.*,然后選擇文件,將會詢問你是否要覆蓋現(xiàn)有文件,回答‘不’,文件就會顯示在項目列表中了。

#p#

為程序自定義代碼

現(xiàn)在我們在Page.xaml文件為用戶添加接口代碼,XAML即可擴(kuò)充應(yīng)用程序標(biāo)記語言,XAML文件實(shí)際上是一個XML文件,雙擊Page.xaml在編輯器中打開它,下面面板顯示源代碼,上面面板顯示預(yù)覽效果。你會看到文件中已經(jīng)包含了一些框架代碼,頂層的UserControl元素包含所有的Silverlight內(nèi)容,我們從移除Width和Height參數(shù)開始,這樣

    xmlns="    xmlns:x="    >
   
       
           
           
       

   

Silverlight Grid控制和HTML表類似,但語法稍有不同,我們的Silverlight程序?qū)▋尚校厦娴男腥菁{一個標(biāo)記和按鈕,下面的行容納反饋項目,及一個反饋項目列表,被選中的項目將以HTML樣式顯示。

想要添加一個行的定義,使用如下語法:

    Xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation 
    xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
    >
   
   

接下來我們要添加一個水平方向的StackPanel來容納標(biāo)簽文本和按鈕,可以使用右側(cè)的選項面板,點(diǎn)擊‘容器’,然后拖動StackPanel項目到代碼窗口,在標(biāo)記后輸入一個空格,然后按Ctrl+空格鍵,彈出代碼提示窗,向下滾動到Orientation,或輸入‘O’加速搜索速度,雙擊選中它,保持默認(rèn)值‘Horizontal’即可。

我們兩個StackPanel控制器將會是一個TextBlock和一個Button,TextBlock將會賦予‘Wired’(本文我們用它作為反饋的名字),注意不是所有的反饋都可以工作,這個域必須通過在服務(wù)器上托管一個小文件執(zhí)行跨域訪問,如wired.com上的這個文件。

想要增加一個文本塊(TextBlock),在選項面板上點(diǎn)擊控制器(Controls),然后拖動TextBlock到你的代碼窗口中兩個StackPanel標(biāo)記之間,然后點(diǎn)擊按鈕,拖動按鈕控制器到代碼窗口中TextBlock下,象下面這樣配置控制器,不用告訴它不要使用grid的***行(row 0),因?yàn)槟J(rèn)就是這樣了,使用StackPanel時,你可以使用Ctrl+空格鍵得到語法幫助。


                            VerticalAlignment="Center"
                FontSize="36"
                Padding="10"
                Foreground="White"
                />
           

迄今為止一切順利,但按鈕還沒有起任何作用,我們還需要在按鈕上添加事件控制程序,當(dāng)點(diǎn)擊按鈕時就訪問反饋,在按鈕的結(jié)束方括號前插入光標(biāo),按Ctrl+空格鍵,代碼提示只有一個選項,即點(diǎn)擊事件,雙擊選中它,將會顯示一個事件處理程序?qū)υ捒?,輸入Btn_Click作為事件的名稱,然后點(diǎn)擊確定。

 

圖 14 從代碼提示中選擇點(diǎn)擊事件,將會顯示一個事件處理程序?qū)υ捒?/STRONG>

#p#

這樣將會在代碼后臺文件Page.xaml.cs中創(chuàng)建一個事件處理程序占位符,然后打開它,事件處理程序只需要三行代碼。

首先我們以一個訪問服務(wù)器數(shù)據(jù)的WebClient對象為例進(jìn)行說明,因?yàn)槲覀円惒皆L問反饋,需要為OpenReadCompleted事件添加一個事件處理程序,最后,我們使用OpenReadAsync方法提交請求。 

private void Btn_Click(object sender, RoutedEventArgs arg1)
        {
            WebClient client = new WebClient();
            client.OpenReadCompleted +=
                  new OpenReadCompletedEventHandler(client_OpenReadCompleted);
            client.OpenReadAsync(
                  new Uri("        }
OpenReadCompleted

事件處理程序?qū)壎ǚ答仈?shù)據(jù)到顯示它的控制器上,在我們的例子中就是DataGrid,因此在添加處理程序之前,我們先回到Page.xaml添加好DataGrid。

在選項面板中點(diǎn)擊容器,拖動DataGrid到代碼窗口,把它放在StackPanel下面,在兩個關(guān)閉標(biāo)記 和之間,這樣不僅在代碼中添加了DataGrid標(biāo)記,在文件的頂部還添加了額外的命名空間,然后在項目中添加了一個到System.Windows.Controls.Data的引用。

我們想給DataGrid取一個名字,以便可以在OpenReadCompleted事件處理程序中引用它,我們將把反饋數(shù)據(jù)綁定到它上面,名字就命名為gridSyndicationItems,然后添加兩個屬性:Grid.Row="1"(因?yàn)榱斜硎菑膅rid的第二行開始的,***行是row=0)和AutoGenerateColumns="false"(稍后會有詳細(xì)說明)。最后我們想要web頁面顯示選中的反饋,因此需要一個SelectionChanged事件觸發(fā)程序,代碼提示可以起到幫助作用,只需按Ctrl+空格鍵即可。

如果你不將AutoGenerateColumns設(shè)置為false,DataGrid將會為每個反饋?zhàn)詣赢a(chǎn)生一列,通常這不是你想要的效果,如果你將其設(shè)置為false了,你可以進(jìn)一步設(shè)置顯示哪些列,這才是我們想要的,下面就是示例:

          AutoGenerateColumns="false" SelectionChanged="gridFeed_SelectionChanged" >
          
                    
                    
                        
           

   

Binding語句指定了每一列要顯示的字段,字段名稱是Syndication字段對象的屬性。
現(xiàn)在我們再回到我們的代碼隱藏文件Page.xaml.cs,為反饋?zhàn)x取完畢添加事件處理程序,在Btn_Click處理程序下面為OpenReadCompleted處理程序添加下面的代碼:

private void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
         {
            if (e.Error == null)
            {
                XmlReader reader = XmlReader.Create(e.Result);
                SyndicationFeed feed = SyndicationFeed.Load(reader);
                gridSyndicationItems.ItemsSource = feed.Items;
                reader.Close();
            }
          }

如果在讀取反饋時沒有遇到錯誤,我們創(chuàng)建一個XmlReader對象,使用我們的反饋初始化它,然后將XmlReader載入名叫‘feed’的SyndicationFeed對象,它的項目屬性包含了反饋項目的集合,為了綁定反饋數(shù)據(jù)到DataGrid,我們?yōu)榉答來椖恐付―ataGrid的ItemsSource屬性。

命名空間包含了SyndicationFeed類,但它還不是我們項目的一部分,在項目管理器中,展開SyndicationFeedReader項目,在‘引用’上點(diǎn)擊右鍵,選擇‘添加引用’。

 

圖 15 在SyndicationFeedReader項目的引用上點(diǎn)擊右鍵,選擇添加引用

此時會彈出一個可用組合的列表,那些在當(dāng)前項目中已經(jīng)引用了的項目以灰色高亮顯示,選擇System.ServiceModel.Syndication,點(diǎn)擊‘確定’按鈕。

 

圖 16 選擇Select System.ServiceModel.Syndication,點(diǎn)擊確定

接下來需要為代碼隱藏文件Page.xaml.cs添加一些‘using’提示:

using System.ServiceModel.Syndication;
using System.Xml;
using System.Windows.Browser;

在顯示選中的反饋時使用到了System.Xml和System.Windows.Browser,它包含兩部分內(nèi)容:

◆當(dāng)選擇的反饋項目發(fā)生變化時的事件處理程序

◆在頁面上以iframe形式顯示選中反饋的HTML

在OpenReadCompleted事件處理程序下面添加SelectionChanged事件處理程序,這次沒有自動創(chuàng)建占位符了,代碼提示將會在未來的版本中增強(qiáng)。

private void gridFeed_SelectionChanged(object sender, EventArgs e)
        {
            SyndicationItem selectedItem =
                  (SyndicationItem)gridSyndicationItems.SelectedItem;
            HtmlElement element =
                   HtmlPage.Document.GetElementById("rssFrame");
            element.SetAttribute("src", selectedItem.Links[0].Uri.ToString());
        }

***行是更新選中的項目,它后面的兩行就是顯示內(nèi)容了,注意對rssFrame的引用,實(shí)際上它是一個要顯示的iframe的名字。

最后一步是將iframe添加到我們的HTML頁面中,在SyndicationFeedReader.Web項目中的SyndicationFeedReaderTestPage.html上點(diǎn)擊右鍵,選擇‘以…打開’‘文本編輯器’,首先限制Silverlight程序占整個頁面的50%,通過將silverlightControlHost的高度值從100調(diào)整到50實(shí)現(xiàn)。

#silverlightControlHost {
     height: 50%;
    }

然后在標(biāo)記前添加下面兩行代碼:

責(zé)任編輯:彭凡 來源: 51CTO
相關(guān)推薦

2020-05-21 14:03:21

python編程代碼

2024-11-28 11:34:54

2023-11-28 13:21:52

2012-06-21 13:46:22

javascriptworklight嵌入式系統(tǒng)

2009-06-25 11:18:20

Silverlight

2009-06-02 15:20:16

eclipse tomtomcatplugitomcatplugi

2009-04-03 13:09:12

Windows Emb

2009-07-16 15:46:09

Windows Emb

2009-03-12 16:18:14

Visual StudEclipseSilverlight

2021-01-13 10:33:57

云計算云遷移云平臺

2019-07-02 16:57:20

混合云技術(shù)Linux

2013-08-19 15:36:07

在家辦公程序員

2009-06-05 14:59:31

Eclipse中配置T

2009-06-17 17:44:41

Eclipse插件Sp

2010-01-04 11:23:59

SilverLight

2009-07-16 15:27:13

Windows Emb

2010-11-25 10:05:22

Visual StudSilverlightWCF

2009-02-17 14:22:40

Windows Emb

2012-10-29 13:25:54

JavaScriptJSjQuery

2009-12-30 14:03:36

ADO.NET Ent
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號



    

  • <ruby id="dxs7x"></ruby>
    <style id="dxs7x"></style><big id="dxs7x"><form id="dxs7x"><legend id="dxs7x"></legend></form></big>
      <legend id="dxs7x"><track id="dxs7x"></track></legend>