我知道您将使用此方法调用ViewModel上的方法,但出于好奇,您将如何在实例上连接事件处理程序该视图相当于将其以代码方式连接在后面。CallMethodAction:我如何将一个视图的实例称为TargetObject
2
A
回答
1
我想你可能是在这样的事情后面(忽略这个具体的例子最好是用命令完成)。
<Button Content="Click this">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:CallMethodAction TargetObject="{Binding}" MethodName="SomeMethod" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
+1
这不起作用:空绑定语法引用视图的当前数据上下文,而不是视图本身。在MVVM的情况下,这会让你进入虚拟机。 – 2011-04-29 23:54:37
3
如果您的窗口代码隐藏方法中的对象是窗口本身,则TargetObject是具有要调用的方法的对象。你可以通过它的名字绑定到它:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
...etcetera...
x:Name="UserControl">
所以你CallMethodAction是:
<ei:CallMethodAction MethodName="MyMethod"
TargetObject="{Binding ElementName=UserControl, Mode=OneWay}"/>
相关问题
- 1. 将CallMethodAction中的TargetObject设置为XAML中父级DataContext的ViewModel
- 2. 如何将TreeView的一个实例的节点添加到同一树形视图的另一个实例
- 3. 我将如何显示一个视图作为另一个视图的叠加?
- 4. iOS:一个子视图的xcode实例
- 5. 如何为我的表视图实现图像细节视图?
- 6. 查看实例化另一个视图
- 7. 如何为EmberJS中的每个视图实例创建一个控制器实例?
- 8. Python替换 - 将多个实例视为一个
- 9. 如何在另一个视图控制器中控制实例
- 10. 如何使用Spring-Quartz中的“MethodInvokingJobDetailFactoryBean”创建“targetObject”的原型实例?
- 11. 为什么我的视图中的Rails实例变量为零?
- 12. 如何将一个RDS实例的snaphsot复制到另一个RDS实例?
- 13. 如何将一个redis实例拆分为两个?
- 14. 如何将一个实例表示为键入的值
- 15. 如何让我的一个视图成为唯一的风景
- 16. 为视图实例指定一个分类术语
- 17. 如何将一个视图移动到另一个视图?
- 18. 我有一个SCNScene实例。我如何提取每个SCNGeometry实例?
- 19. 如何将我的AppDelegate定义为它实例化的类的实例变量?
- 20. 我如何将视图更改为JTree?
- 21. 如何在Java中返回一个类的实例的名称
- 22. 如何将视图的实例连接到模型对象? Ember.js
- 23. 如何从ViewModel实例化视图?
- 24. 我如何说服ggplot2为我创建一个图例?
- 25. 如何使我的图形图的多个实例
- 26. 如何将消息发送到我的视图控制器实例?
- 27. 如何给实例名称?
- 28. 如何将我的apk文件更改为另一个名称
- 29. 如何将一个Maybe-Transformer MaybeT变成一个MonadWriter的实例?
- 30. 我可以在JavaScript中动态地将一个类的实例转换为另一个类的实例吗?
你是问你怎么会有援引为_or_你将如何调用一个事件的响应方法事件处理程序作为方法? – AnthonyWJones 2010-12-10 22:48:25
@AnthonyWJones:CallMethodAction上有一个TargetObject属性。我需要引用该触发器所在视图的实例。我能够通过用户控件的名称来引用它,但它给了我空引用错误。 – epitka 2010-12-13 13:23:40