2017-11-30 14 views
0

MyView.xamlには、DataContextとしてMyViewModelがあります。 MyViewModelはintパラメータをとります。ですから、どのようにしてMyViewModelにdatacontextをパラメータで設定しますか?私は、以下に示すようにMyView.xamlに分離コードからint型のプロパティをバインドする必要があります。ObjectDataProviderにintプロパティ値をバインドする方法ConstructorParameter

MyView.xaml

<dxr:DXRibbonWindow.DataContext> 
    <ObjectDataProvider ObjectType="vm:MyViewModel" xmlns:sys="clr-namespace:System;assembly=mscorlib"> 
     <ObjectDataProvider.ConstructorParameters>     
      <sys:Int32>Id</sys:Int32> 
     </ObjectDataProvider.ConstructorParameters> 
    </ObjectDataProvider> 
</dxr:DXRibbonWindow.DataContext> 

MyView.xaml.cs(分離コード)

public int Id {get;set;} 

答えて

0

私は、これは知っていますちょうどあなたが尋ねたものではありませんが、xamlでdatacontextを設定するたびに私が使用する別のアプローチです。

私は通常、次のように私のviewmodelためにロードされたイベントを定義します。

public void LoadParams(int Id) 
{ 
    this.Id = Id; 
} 

それは非常にシンプルなソリューションです。ユーザーコントロールからこのメソッドを呼び出すだけで済みます(これはLoaded eventでも可能です)。あなたのコードでは、次のようなことができます:

関連する問題