我对ItemsControl有疑问。 如果我不想绑定项目中的Func,就像这样:
代码:
<Button cal:Action.TargetWithoutContext="{Binding MenuItemX}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Clicked" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
链接:((Caliburn Micro) Mapping a ActionMessage Methodname to a Child Object of the ViewModel)。 但我绑定TreeView DataTemplate并使用Control MouseClick:
代码:
<HierarchicalDataTemplate x:Key="treeDataTemplate" DataType="{x:Type myData:Music}" ItemsSource="{Binding ChildNode}">
<TextBlock Text="{Binding Name}" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonUp">
<cal:ActionMessage MethodName="TreeItemClick" >
<cal:Parameter Value="{Binding}" />
</cal:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</TextBlock>
</HierarchicalDataTemplate>
这里的问题是TextBlock(在Child ViewModel中),MethodName(在MainViewModel中)和Parameter(在Child ViewModel中)。 构建它的最佳方法是什么?