如何在xaml中引用另一个模型?

时间:2017-10-19 15:08:21

标签: c# xaml xamarin mvvm xamarin.forms

我在XAML中使用MVVM和嵌入模型,有些模型是独立构建的,但其中一个模型需要在构造中引用另一个模型,因为db中的数据也需要引用它,我不能这样做。在XAML中找到一种方法,XAML是这样的:

     <models:UserModel x:Key="UserModel"></models:UserModel>
     <models:OrderModel x:Key="OrderModel">
         <x:Arguments>
              {StaticResource UserModel} // what tag to use here?
         </x:Arguments>
     </models:OrderModel>

有没有正确的方法呢?

1 个答案:

答案 0 :(得分:3)

由于StaticResource是标记扩展程序,您可以通过attribute usage, or element usage

使用它
 <models:OrderModel x:Key="OrderModel">
     <x:Arguments>
          <StaticResource Key="UserModel" />
     </x:Arguments>
 </models:OrderModel>

编辑 - 1

StaticResource中使用x:Arguments时看起来 - 它只是将扩展对象传递给构造函数;而不是为了价值而解决它。解决此问题的最简单方法是向OrderModel添加属性以分配UserModel对象。

<local:UserModel x:Key="UserModel" />
<local:OrderModel x:Key="OrderModel" User="{StaticResource UserModel}"/>