在构造函数中使用async / await需要一个实例化对象的静态工厂方法。没有async / await我的对象在XAML中实例化,如下所示:
<viewModel:MyClass x:key="myClass"/>
如果我使用静态工厂方法,将其称为CreateAsync(),对象实例化代码如下所示:
MyClass myClass = await MyClass.CreateAsync();
所有在代码隐藏方面都很好,并按预期工作,但如果可能的话,我希望在XAML中等效上述代码。快速搜索建议沿着以下行使用新属性FactoryMethod来指定工厂方法。
<viewModel:MyClass x:FactoryMethod="CreateAsync" x:key="myClass"/>
但是,问题是x:FactoryMethod仅在XAML 2009中支持(而不是XAML 2006)。此外,根据我的简短研究,XAML 2009尚未得到支持。
那么,如果使用一个简单的例子给出一个静态工厂方法,在XAML中实例化一个对象该怎么办?考虑到x:FactoryMethod尚不可用,是否有解决办法?