メイン ウィンドウ内でユーザー コントロールをホストしようとしていますが、それをビュー モデルに実装する方法を決めるのに苦労しています。
まず、ユーザー コントロール用に別のビュー モデルを作成し、データ テンプレートを使用してそれをコントロールにマップしてから、次のようにホストしますContentControl
。
データ テンプレート:
<DataTemplate DataType="{x:Type viewModels:TaskbarIconViewModel}">
<tb:TaskbarIcon/>
</DataTemplate>
XAML:
<ContentControl Content="{Binding TaskbarIconViewModel}"/>
このセットアップを使用する場合、ユーザー コントロールでメソッドを呼び出す方法と、XAML またはビュー モデルでユーザー コントロールのプロパティを設定する方法を教えてください。
次に、ユーザー コントロールをビュー モデルに保持し、それをContentControl
もう一度バインドするというアイデアがありました。これは私には間違っているようで、MVVMに反対しています。これは正しいですか?ビューモデル内にコントロールを保持することは許容されますか?
ビューモデルでは:
public TaskbarIcon TaskbarIcon { get; set; }
XAML:
<ContentControl Content="{Binding TaskbarIcon}"/>
ここでの最善の行動は何ですか?