2017-10-19 11 views
1

MVVMと埋め込みモデルをXAML内で使用していますが、一部のモデルはスタンドアロンで構築されていますが、モデルの中の1つは構築中の別のモデルを参照する必要があります。 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> 

EDITを通してそれを使用することができます - 1

あなたはx:ArgumentsStaticResourceを使用するときのように見える - それはちょうど拡張オブジェクトに渡しますコンストラクタに渡します。値のためにそれを解決するのではなく。これを解決する最も簡単な方法は、オブジェクトを割り当てるために、OrderModelにプロパティを追加することです。

<local:UserModel x:Key="UserModel" /> 
<local:OrderModel x:Key="OrderModel" User="{StaticResource UserModel}"/> 
関連する問題