我在沒有Visual Studio的情況下創建Silverlight。我只有原始的html,XAML和js(javascript)。如何調用JavaScript函數並傳遞XAML/Silverlight中的值?
我想要做的是將值從XAML傳遞給javascript。我可以從XAML調用和激活JavaScript函數。見下文。 canvas元素有一個鼠標左鍵按鈕事件,它在JavaScript中調用LandOnSpace。
但是,我會如何調用ShowMsg?或者更準確地說,我如何將價值傳遞給那個呼叫?通常在JavaScript中,你可以去:ShowMsg(500,700,「你欠我們錢」);
但是,當我嘗試在xaml代碼中,它打破了一些東西。我相信它抱怨說javascript函數不存在。
<Canvas x:Name="btnLandOnSpace" Background="LightGreen" MouseLeftButtonUp="LandOnSpace"
Cursor="Hand" Canvas.Top ="0" Width="70" Height="50">
<TextBlock Text="LandOnSpace" />
</Canvas>
function LandOnSpace(sender, e) { //on server
if (!ShipAnimateActive && !blnWaitingOnServer) {
blnWaitingOnServer = true;
RunServerFunction("/sqgame/getJSLLandOnSpace");
ShowWaitingBox();
};
else {
alert('Waiting on server.');
};
}
function ShowMsg(SintCost, SintRent , SstrChoiceText) {
blnPayChoice = true;
intCost = SintCost;
intRent = SintRent;
strChoiceText = SstrChoiceText; }
考慮到所有問題,對我而言,改用月光而不是銀光會有益嗎? 我可能也會放棄silverlight,並使用谷歌的O3D進行渲染。它可以很容易地處理我想要做的2D事情。 – Neo42 2009-07-06 16:04:49
我也一直在尋找使用HTML 5中的Canvas標記。然後我的瀏覽器支持將是每個瀏覽器。 IE支持它顯然是這樣或那樣。 – Neo42 2009-07-06 17:38:44
這很有趣: http://blog.jimmy.schementi.com/2008/05/story-of-ruby-and-python-in-silverlight.html 有一種叫做凱龍的東西可以幫助我。 – Neo42 2009-07-15 18:16:42