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

标签 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>

有什么正确的方法可以做到这一点吗?

最佳答案

因为 StaticResource 是标记扩展,您可以通过 attribute usage, or element usage 使用它。

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

编辑 - 1

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

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

关于c# - 如何在 xaml 中引用另一个模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46833129/

相关文章:

c# - 如何使用 linq 使用文件名从目录中过滤文件?

c# - 组合方法

c# - 修复 xaml 文件中的大小

c# - 根据值更改 DataGrid 单元格颜色

c# - 如何在 SharpDevelop 4.2 中启动一个国际化的 WPF 项目?

c# - 我的 Action 被调用了两次

c# - 显示内存中的 RGBA 图像

c# xamarin Error inflating 类 ActionMenuView

ios - 在 Xamarin.iOS (iOS 7) 中检测耳机插孔的插入和拔出事件

android - 当按钮位于 fragment 中时将按钮绑定(bind)到 ViewModel 命令