Ответ 1
Объекты среды Windows, подверженные приложениям JavaScript, запечатаны с точки зрения JavaScript - вы не можете добавлять свойства expando к объектам WinRT. Но из С++ и С# объекты winrt могут быть наследованы, если объект поддерживает наследование (большинство классов Xaml поддерживают наследование, например, но большинство других нет).
Причина, по которой объекты WinRT запечатываются из JS, заключается в том, чтобы гарантировать, что объект winrt будет вести себя одинаково независимо от того, что сделало приложение - если приложение переопределяет какое-либо свойство функции на объекте, это может привести к тому, что другие части приложения будут безобразничать.