我试图在我的主窗口中托管用户控件,但我很难决定如何将它实现到我的视图模型中.
首先,我为用户控件创建了一个单独的视图模型,并在将其托管到以下内容之前使用数据模板将其映射到控件ContentControl:
数据模板:
<DataTemplate DataType="{x:Type viewModels:TaskbarIconViewModel}">
<tb:TaskbarIcon/>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
XAML:
<ContentControl Content="{Binding TaskbarIconViewModel}"/>
Run Code Online (Sandbox Code Playgroud)
如果我要使用此设置,我将如何调用用户控件上的方法以及如何在XAML或视图模型中设置用户控件的属性?
其次,我有想法在视图模型中保持用户控件,然后再将其绑定到一个ContentControl.这对我和MVVM来说似乎不对.这是正确的吗?在视图模型中保持控件是否可以接受?
在视图模型中:
public TaskbarIcon TaskbarIcon { get; set; }
Run Code Online (Sandbox Code Playgroud)
XAML:
<ContentControl Content="{Binding TaskbarIcon}"/>
Run Code Online (Sandbox Code Playgroud)
什么是最好的行动方案?