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?
This is correct: this attribute hides the type in the JavaScript projection, so from JavaScript it is as if the type does not exist.
You cannot use XAML controls from JavaScript, period. When using JavaScript, UI is authored using HTML, not XAML.