Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is [Windows::Foundation::Metadata::WebHostHidden] added by default in custom WinRT C++/CX controls?

When I create a new control in a WinRT C++/CX project, the class attribute [Windows::Foundation::Metadata::WebHostHidden] is added by default by Visual Studio 2012.

Example:

namespace WindowsRuntimeComponent1
{
    [Windows::Foundation::Metadata::WebHostHidden]
    public ref class MyUserControl sealed
    {
    public:
        MyUserControl();
    };
}
  • Is there any documented reason for this? (I did my homework but I failed to find this piece of information)
  • As far as I know, using the attribute [WebHostHidden] makes the class invisible for WinRT HTML/Javascript projects. Does this mean that I cannot create a control in C++/CX that can be used in Javascript?
like image 849
yms Avatar asked Oct 03 '12 16:10

yms


1 Answers

As far as I know, using the attribute [WebHostHidden] makes the class invisible for WinRT HTML/JavaScript projects.

This is correct: this attribute hides the type in the JavaScript projection, so from JavaScript it is as if the type does not exist.

Does this mean that I cannot create a control in C++/CX that can be used in JavaScript?

You cannot use XAML controls from JavaScript, period. When using JavaScript, UI is authored using HTML, not XAML.

like image 115
James McNellis Avatar answered Nov 06 '22 19:11

James McNellis