我正在尝试在另一个视图(ActiveItem)中使用coproject工具栏类型的视图。 Coproject定义了两个内容控件。但我希望工具栏嵌套在另一个视图中。基本上是CRUD表单(视图)的一部分,所以我可以像许多其他表单/视图中的用户控件一样使用它。我试图在我的视图中包含Contentcontrol。但工具栏nevers出现了。它抱怨找不到Project.Views.Form.tbar。如何强制它使用工具栏视图但使用当前的viewmodel FormViewModel。任何有关自定义View定位器的帮助都会非常有用。
假设有两种观点:FormView&工具栏(工具栏应使用FormViewModel)
FormView.xaml :(我在这里使用工具栏视图)
<UserControl x:Class="Project.Views.FormView"
<Grid>
<Othercontrols>
<ContentControl x:Name="Toolbar" cal:View.Model="{Binding}" cal:View.Context="tbar" />
<OtherControls>
</Grid>
</UserControl>
Toolbar.xaml:
<UserControl x:Class="Project.Views.Toolbar">
<Border>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Height="28" Width="135">
<local:ImageButton x:Name="Add" ImageName="Pen" ToolTipService.ToolTip="Add" />
<local:ImageButton x:Name="Edit" ImageName="Pen" ToolTipService.ToolTip="Edit" />
<local:ImageButton x:Name="Save" ImageName="Save" ToolTipService.ToolTip="Save" />
<local:ImageButton x:Name="Delete" ImageName="Close" ToolTipService.ToolTip="Delete" />
<local:ImageButton x:Name="Cancel" ImageName="Undo" ToolTipService.ToolTip="Cancel" />
</StackPanel>
</Border>
</UserControl>
正如我之前所说,工具栏应该使用使用它的父视图模型。在上面的例子中,它应该使用FormViewModel。 FormViewModel将具有“添加”,“编辑”等方法
请让我知道如何让这个工作? 非常感谢。
答案 0 :(得分:0)
如何使用cal:View.Model =“{Binding Parent}”?前提是子ViewModel的此属性已填充正确的父ViewModel。