2017-10-19 52 views
1

我正在使用MVVM並在XAML中嵌入模型,有些模型是獨立構建的,但其中一個模型需要引用另一個構造,因爲db中的數據也需要引用它,我無法找到在XAML中做這件事,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> 

有沒有什麼正確的方法來做到這一點?

回答

3

因爲StaticResource是一個標記擴展,你可以使用它或者通過attribute usage, or element usage

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

編輯 - 1

看起來當您使用StaticResourcex:Arguments一樣 - 它只是傳遞擴展對象到構造函數;而不是解決它的價值。解決這個問題的最簡單方法是將一個屬性添加到OrderModel以指定UserModel對象。

<local:UserModel x:Key="UserModel" /> 
<local:OrderModel x:Key="OrderModel" User="{StaticResource UserModel}"/> 
相關問題