【发布时间】:2009-06-18 12:57:41
【问题描述】:
我在没有 Visual Studio 的情况下创建 silverlight。我只有原始 html、XAML 和 js (javascript)。
我想要做的是将值从 XAML 传递到 javascript。我可以从 XAML 调用和激活 javascript 函数。见下文。 canvas 元素有一个鼠标左键向上事件,该事件在 javascript 中调用 LandOnSpace。
但是我该如何调用 ShowMsg 呢?或者更准确地说,我将如何将值传递给该调用?通常在 javascript 中你可以这样: ShowMsg(500, 700, "you owe us money");
但是当我在 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 并使用google 的O3D 进行渲染。它可以很容易地处理我想做的 2d 事情。
-
我也一直在研究使用 HTML 5 中的 Canvas 标签。然后我的浏览器支持将是每个浏览器。 IE 显然以一种或另一种方式支持它。
-
这很有趣:blog.jimmy.schementi.com/2008/05/… 有一种叫做 chiron 的东西可以帮助我。
标签: javascript silverlight xaml syntax function