Pourquoi [Windows::Foundation::Metadata::WebHostHidden] est-il ajouté par défaut dans les contrôles WinRT C++/CX personnalisés ?
-
13-12-2019 - |
Question
Lorsque je crée un nouveau contrôle dans un projet WinRT C++/CX, l'attribut de classe [Windows::Foundation::Metadata::WebHostHidden]
est ajouté par défaut par Visual Studio 2012.
Exemple:
namespace WindowsRuntimeComponent1
{
[Windows::Foundation::Metadata::WebHostHidden]
public ref class MyUserControl sealed
{
public:
MyUserControl();
};
}
- Y a-t-il une raison documentée à cela ?(J'ai fait mes devoirs mais je n'ai pas trouvé cette information)
- Autant que je sache, en utilisant l'attribut
[WebHostHidden]
Rend la classe invisible pour les projets WinRT HTML / JavaScript.Cela signifie-t-il que je ne peux pas créer de contrôle en C ++ / CX qui peut être utilisé dans JavaScript?
La solution
Autant que je sache, en utilisant l'attribut
[WebHostHidden]
rend la classe invisible pour les projets WinRT HTML/JavaScript.
C'est correct:cet attribut masque le type dans la projection JavaScript, donc depuis JavaScript, c'est comme si le type n'existait pas.
Cela signifie-t-il que je ne peux pas créer un contrôle en C++/CX pouvant être utilisé en JavaScript ?
Vous ne pouvez pas utiliser les contrôles XAML à partir de JavaScript, point final.Lors de l’utilisation de JavaScript, l’interface utilisateur est créée en HTML et non en XAML.