看板 P_qman
作者 標題 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
回列表(←)
分享