我可以在metro ui javascript代码中使用在C#中创建的对象吗?

Met*_*uru 2 c# microsoft-metro windows-8

我非常喜欢C#,我对它很熟悉,但我也想使用HTML5/JavaScript来管理我的Windows 8 Metro应用程序的UI.那么,如何在Javascript文件中导入和使用C#中创建的库中的对象?

这里的例子是一个空的HTML5/JS项目的起始JS代码......

// For an introduction to the Blank template, see the following documentation:
// http://go.microsoft.com/fwlink/?LinkId=232509
(function () {
    "use strict";

    var app = WinJS.Application;

    app.onactivated = function (eventObject) {
        if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
            if (eventObject.detail.previousExecutionState !== Windows.ApplicationModel.Activation.ApplicationExecutionState.terminated) {
                // TODO: This application has been newly launched. Initialize 
                // your application here.
            } else {
                // TODO: This application has been reactivated from suspension. 
                // Restore application state here.
            }
            WinJS.UI.processAll();
        }
    };

    app.oncheckpoint = function (eventObject) {
        // TODO: This application is about to be suspended. Save any state
        // that needs to persist across suspensions here. You might use the 
        // WinJS.Application.sessionState object, which is automatically
        // saved and restored across suspension. If you need to complete an
        // asynchronous operation before your application is suspended, call
        // eventObject.setPromise(). 
    };

    app.start();
})();
Run Code Online (Sandbox Code Playgroud)

我可以在JS中使用C#编写的库和对象吗?

我有点沮丧他们似乎将C#从基于HTML5的项目中分离出来......

Bob*_*van 5

你绝对可以做到这一点.这是Windows 8和新应用程序模型的美妙之处.有很多地方可以开始和关注.

从这里开始:http://msdn.microsoft.com/en-us/library/windows/apps/br230301(v = vs1010).aspx您可以在上面的链接中进一步向下钻取,它也链接到一个真正的基础样品.http://msdn.microsoft.com/en-us/library/windows/apps/hh779077(v=vs.110).aspx

简而言之,您将在C#中创建一个metro类库,然后将C#的输出类型从"类库"设置为WinMD.然后,您可以在javascript项目中引用和使用该库.

有很多关于构建城域应用程序的文档,请访问http://msdn.microsoft.com/en-us/library/windows/apps