顯示廣告
隱藏 ✕
看板 P_qman
作者 cuteman0725(訪客)
標題 Re: [備忘] SilverLight 3.0 使用步驟
時間 2010年02月05日 Fri. AM 01:27:16


讓程式產生事件的方式

※ 引述《cuteman0725》之銘言:
> 一、安裝
> 1.先裝 Silverlight3_Tools.exe
> 2.再裝 Blend_Trial_zh-Hant.exe
> 3.dll 複製到 Blend 路徑
> 二、使用
> 1.新增一個 Silverlight 方案
本來是選 Silverlight 瀏覽應用程式,改為 Silverlight應用程式
> 2.下拉選 ASP.NET WEB應用程式
> 3.方案中有兩個專案 Silverlight(寫事件用) 和 Silverlight.WEB(拉界面用)
產案產生後 複製 <ProjName>.aspx 的兩個區塊

區塊1.
[bc=blue]
    <style type="text/css">
    html, body {
	
    height: 100%;
	
    overflow: auto;
    }
    body {
	
    padding: 0;
	
    margin: 0;
    }
    #silverlightControlHost {
	
    height: 100%;
	
    text-align:center;
    }
    </style>
    <script type="text/javascript" src="Silverlight.js"></script>
    <script type="text/javascript">
        function onSilverlightError(sender, args) {
            var appSource = "";
            if (sender != null && sender != 0) {
              appSource = sender.getHost().Source;
            }
           
            var errorType = args.ErrorType;
            var iErrorCode = args.ErrorCode;

            if (errorType == "ImageError" || errorType == "MediaError") {
              return;
            }

            var errMsg = "Unhandled Error in Silverlight Application " +  appSource + "\n" ;

            errMsg += "程式碼: "+ iErrorCode + "    \n";
            errMsg += "分類: " + errorType + "       \n";
            errMsg += "訊息: " + args.ErrorMessage + "     \n";

            if (errorType == "ParserError") {
                errMsg += "File: " + args.xamlFile + "     \n";
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            else if (errorType == "RuntimeError") {          
                if (args.lineNumber != 0) {
                    errMsg += "Line: " + args.lineNumber + "     \n";
                    errMsg += "Position: " +  args.charPosition + "     \n";
                }
                errMsg += "MethodName: " + args.methodName + "     \n";
            }

            throw new Error(errMsg);
        }
    </script>
[/bc]

區塊2.
[bc=blue]
    <form id="form1" runat="server" style="height:100%">
    <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
	
	
  <param name="source" value="ClientBin/Silverlight1-6.xap"/>
	
	
  <param name="onError" value="onSilverlightError" />
	
	
  <param name="background" value="white" />
	
	
  <param name="minRuntimeVersion" value="3.0.40818.0" />
	
	
  <param name="autoUpgrade" value="true" />
	
	
  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
 
	
	
	
  <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="取得 Microsoft Silverlight" style="border-style:none"/>
	
	
  </a>
	
    </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
    </form>
[/bc]

> 4.Silverlight 專案選 MainPage.xaml => 右鍵以 Expression Blend
> 5.Expression Blend 視窗放一個 Button
> 6.Content 屬性改為按鈕
> 7.撰寫事件:關閉Expression Blend回到 VS2008 開啟 MainPage.xaml.cs 加入事件
>         public void MyClick(object sender, EventArgs e)
>         {
>             MessageBox.Show("OK");
>         }
在 3.的地方加入程式碼後,事件便在右上方產生。
> 8.在 MainPage.xaml 修改事件 Tag,加入 MyClick
>    <Button Margin="193,181,309,0" Content="按鈕" Height="57" VerticalAlignment="Top" Click="MyClick"/>
> 9.若要將程式由 Web => C/S,到 Silverlight 專案屬性將 「啟用瀏覽器應用程式外掛打勾」。
> PS. 若不使用預設的 MainPage.xaml,重新建一個新頁面 MyPage。
> 則需重新定義 App.xaml.cs 中的 Application_Startup 事件,修改 Class 名稱。
> [備忘] ask fengchi 新增頁面時如何不重構改MyPage 的 Class Name


--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: cuteman0725  來自: 122.116.161.178  時間: 2010-02-05 01:27:16
※ 編輯: cuteman0725  來自: 122.116.161.178  時間: 2010-02-05 01:28:19
※ 看板: P_qman 文章推薦值: 0 目前人氣: 0 累積人氣: 223 
※ 文章分類: 程式
分享網址: 複製 已複製
1樓 時間: 2010-02-05 02:43:18 (台灣)
  02-05 02:43 TW
test
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇