2017-03-14 8 views
0

選択した値に基づいてビューの一部を動的に設定しようとしています。 私はすでにこのようなXAMLでビューとビューモデルを設定するために管理してきました:Catelビューで動的にusercontrolsを作成するには

<DataTemplate DataType="{x:Type vm:MyViewModel}"> 
     <v:MyUserControl /> 
    </DataTemplate> 
... 

<ContentControl Content="{Binding MyViewModel}" /> 

しかし、私はビューに私は新しい値を取得するたびに新しいタイプを追加する必要があり、これは非常に柔軟ないないようですリスト。

私はCatel(3.9)でもっと動的なものが可能であると思います。この質問のように:How Instantiate Control Programmatically in Catel

私はすでにViewModelへのバインドを試みましたが、CatelはUserControlsを認識していないようで、Viewをインスタンス化しません。これを行う他の方法はありますか?

答えて

1

私はこのすべてを自動的に行うViewModelToViewConverterを探していると思います。

+1

はい、完全に機能します。 –

+0

まあ、ほとんど完全に:私は、nullにバインドされた値を設定すると、最後のアクティブなビューは可視のままです。ビューがnullの場合、ビューは空です。何も表示されないようにビューをnullに設定する方法はありますか? –

+1

コンバータをコピー/派生させ、動作を変更することができます。最終的にはすべてオープンソースです;-) –

関連する問題