我在没有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